@charset "UTF-8";
/* @group CUSTOM Fonts */
@font-face {
  font-family: 'opensans-reg';
  src: url("../fonts/open-sans/OpenSans-Regular.eot");
  src: url("../fonts/open-sans/OpenSans-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/OpenSans-Regular.woff2") format("woff2"), url("../fonts/open-sans/OpenSans-Regular.woff") format("woff"), url("../fonts/open-sans/OpenSans-Regular.ttf") format("truetype"); }

@font-face {
  font-family: 'opensans-bold';
  src: url("../fonts/open-sans/OpenSans-Bold.eot");
  src: url("../fonts/open-sans/OpenSans-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/OpenSans-Bold.woff2") format("woff2"), url("../fonts/open-sans/OpenSans-Bold.woff") format("woff"), url("../fonts/open-sans/OpenSans-Bold.ttf") format("truetype"); }

@font-face {
  font-family: 'opensans-extra-bold';
  src: url("../fonts/open-sans/OpenSans-ExtraBold.eot");
  src: url("../fonts/open-sans/OpenSans-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/OpenSans-ExtraBold.woff2") format("woff2"), url("../fonts/open-sans/OpenSans-ExtraBold.woff") format("woff"), url("../fonts/open-sans/OpenSans-ExtraBold.ttf") format("truetype"); }

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

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.foundation-mq {
  font-family: "small=0em&medium=48em&large=75em&xlarge=85.375em&xxlarge=100em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "opensans-reg", sans-serif, Roboto, Arial;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

button {
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 10px;
  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; }

.row {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-right: -0.75rem;
    margin-left: -0.75rem; }
    @media screen and (min-width: 48em) {
      .row .row {
        margin-right: -1.5rem;
        margin-left: -1.5rem; } }
    @media screen and (min-width: 75em) {
      .row .row {
        margin-right: -1.5rem;
        margin-left: -1.5rem; } }
    @media screen and (min-width: 85.375em) {
      .row .row {
        margin-right: -1.5rem;
        margin-left: -1.5rem; } }
    @media screen and (min-width: 100em) {
      .row .row {
        margin-right: -1.5rem;
        margin-left: -1.5rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  min-width: 0; }
  @media screen and (min-width: 48em) {
    .column, .columns {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

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

.small-2 {
  -webkit-flex: 0 0 16.66667%;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

.small-3 {
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

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

.small-4 {
  -webkit-flex: 0 0 33.33333%;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

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

.small-5 {
  -webkit-flex: 0 0 41.66667%;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

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

.small-6 {
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

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

.small-7 {
  -webkit-flex: 0 0 58.33333%;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

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

.small-8 {
  -webkit-flex: 0 0 66.66667%;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

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

.small-9 {
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

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

.small-10 {
  -webkit-flex: 0 0 83.33333%;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

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

.small-11 {
  -webkit-flex: 0 0 91.66667%;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

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

.small-12 {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

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

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-flex: 0 0 14.28571%;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.75rem;
  padding-left: 0.75rem; }

@media screen and (min-width: 48em) {
  .medium-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 48em) and (min-width: 48em) {
  .medium-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 48em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 48em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 1.5rem;
    padding-left: 1.5rem; } }

@media screen and (min-width: 75em) {
  .large-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 75em) and (min-width: 75em) {
  .large-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 75em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 75em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 1.5rem;
    padding-left: 1.5rem; } }

@media screen and (min-width: 85.375em) {
  .xlarge-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 85.375em) and (min-width: 85.375em) {
  .xlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 85.375em) {
    .row.xlarge-unstack > .column, .row.xlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 85.375em) {
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 1.5rem;
    padding-left: 1.5rem; } }

@media screen and (min-width: 100em) {
  .xxlarge-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .xxlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 100em) {
    .row.xxlarge-unstack > .column, .row.xxlarge-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media screen and (min-width: 100em) {
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 1.5rem;
    padding-left: 1.5rem; } }

.shrink {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 1.5rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .column-block {
      margin-bottom: 3rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

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

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

.cell {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -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 screen and (min-width: 48em) {
  .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 screen and (min-width: 75em) {
  .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: 85.375em) {
  .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: 100em) {
  .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; } }

.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 screen and (min-width: 48em) {
  .grid-x > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -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 screen and (min-width: 75em) {
  .grid-x > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -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: 85.375em) {
  .grid-x > .xlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink {
    -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: 100em) {
  .grid-x > .xxlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink {
    -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%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 48em) {
  .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 screen and (min-width: 75em) {
  .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: 85.375em) {
  .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: 100em) {
  .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%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 48em) {
  .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 screen and (min-width: 48em) {
  .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 screen and (min-width: 75em) {
  .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: 85.375em) {
  .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: 100em) {
  .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: 48em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

@media screen and (min-width: 75em) {
  .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 screen and (min-width: 75em) {
  .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 screen and (min-width: 75em) {
  .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: 85.375em) {
  .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: 100em) {
  .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: 75em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

@media screen and (min-width: 85.375em) {
  .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: 85.375em) {
  .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: 85.375em) {
  .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: 85.375em) {
  .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: 100em) {
  .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: 85.375em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

@media screen and (min-width: 100em) {
  .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: 100em) {
  .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: 100em) {
  .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: 100em) {
  .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: 100em) {
  .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: 100em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media screen and (min-width: 48em) {
    .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 screen and (min-width: 75em) {
    .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: 85.375em) {
    .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: 100em) {
    .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; } }
  .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 screen and (min-width: 48em) {
    .grid-y > .medium-auto {
      -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 screen and (min-width: 75em) {
    .grid-y > .large-auto {
      -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: 85.375em) {
    .grid-y > .xlarge-auto {
      -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: 100em) {
    .grid-y > .xxlarge-auto {
      -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%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "opensans-reg", sans-serif, Roboto, Arial;
  font-style: normal;
  font-weight: bold;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

@media screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 2rem; }
  h2, .h2 {
    font-size: 1.625rem; }
  h3, .h3 {
    font-size: 1.375rem; }
  h4, .h4 {
    font-size: 1.1875rem; }
  h5, .h5 {
    font-size: 1rem; }
  h6, .h6 {
    font-size: 0.9375rem; } }

@media screen and (min-width: 75em) {
  h1, .h1 {
    font-size: 3.5rem; }
  h2, .h2 {
    font-size: 2.125rem; }
  h3, .h3 {
    font-size: 1.75rem; }
  h4, .h4 {
    font-size: 1.375rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1.125rem; } }

a {
  line-height: inherit;
  color: #6E6E6D;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #5f5f5e; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 100%;
  height: 0;
  margin: 5rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1.8rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

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

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

figure {
  margin: 0; }

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

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

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

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

.stat {
  font-size: 1.125rem;
  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 screen and (min-width: 48em) {
  .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 screen and (min-width: 75em) {
  .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: 85.375em) {
  .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: 100em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #6E6E6D;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #5e5e5d;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #6E6E6D;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #585857;
      color: #fefefe; }
  .button.secondary {
    background-color: #C8AE70;
    color: #0a0a0a; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #b49345;
      color: #0a0a0a; }
  .button.success {
    background-color: #3E516E;
    color: #fefefe; }
    .button.success:hover, .button.success:focus {
      background-color: #324158;
      color: #fefefe; }
  .button.warning {
    background-color: #000000;
    color: #fefefe; }
    .button.warning:hover, .button.warning:focus {
      background-color: black;
      color: #fefefe; }
  .button.alert {
    background-color: #851A15;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #6a1511;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #6E6E6D;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #6E6E6D;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #C8AE70;
        color: #0a0a0a; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3E516E;
        color: #fefefe; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #000000;
        color: #fefefe; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #851A15;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #6E6E6D;
    color: #6E6E6D; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #6e6e6d;
      color: #6e6e6d; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #6E6E6D;
        color: #6E6E6D; }
    .button.hollow.primary {
      border: 1px solid #6E6E6D;
      color: #6E6E6D; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #6e6e6d;
        color: #6e6e6d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #6E6E6D;
          color: #6E6E6D; }
    .button.hollow.secondary {
      border: 1px solid #C8AE70;
      color: #C8AE70; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #c8ae70;
        color: #c8ae70; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #C8AE70;
          color: #C8AE70; }
    .button.hollow.success {
      border: 1px solid #3E516E;
      color: #3E516E; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #3e516e;
        color: #3e516e; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3E516E;
          color: #3E516E; }
    .button.hollow.warning {
      border: 1px solid #000000;
      color: #000000; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: black;
        color: black; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #000000;
          color: #000000; }
    .button.hollow.alert {
      border: 1px solid #851A15;
      color: #851A15; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #851a15;
        color: #851a15; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #851A15;
          color: #851A15; }
  .button.clear {
    border: 1px solid #6E6E6D;
    color: #6E6E6D; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #6e6e6d;
      color: #6e6e6d; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #6E6E6D;
        color: #6E6E6D; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #6E6E6D;
      color: #6E6E6D; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #6e6e6d;
        color: #6e6e6d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #6E6E6D;
          color: #6E6E6D; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #C8AE70;
      color: #C8AE70; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #c8ae70;
        color: #c8ae70; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #C8AE70;
          color: #C8AE70; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3E516E;
      color: #3E516E; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #3e516e;
        color: #3e516e; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3E516E;
          color: #3E516E; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #000000;
      color: #000000; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: black;
        color: black; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #000000;
          color: #000000; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #851A15;
      color: #851A15; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #851a15;
        color: #851a15; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #851A15;
          color: #851A15; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #6E6E6D; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #6E6E6D; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #C8AE70; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3E516E; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #000000; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #851A15; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 10px;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

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

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

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

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

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [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;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

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

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

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

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

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

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 10px;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  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%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s 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: #851A15;
  background-color: #f2e7e7; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #851A15; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #851A15; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #851A15; }

.is-invalid-label {
  color: #851A15; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #851A15; }
  .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: 10px 10px 0 0; }

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #6E6E6D; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 10px 10px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

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

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.6rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.6rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #6E6E6D transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #6E6E6D transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #6E6E6D;
  color: #fefefe; }
  .badge.primary {
    background: #6E6E6D;
    color: #fefefe; }
  .badge.secondary {
    background: #C8AE70;
    color: #0a0a0a; }
  .badge.success {
    background: #3E516E;
    color: #fefefe; }
  .badge.warning {
    background: #000000;
    color: #fefefe; }
  .badge.alert {
    background: #851A15;
    color: #fefefe; }

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #6E6E6D;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #585857;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #C8AE70;
    color: #0a0a0a; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #b49345;
      color: #0a0a0a; }
  .button-group.success .button {
    background-color: #3E516E;
    color: #fefefe; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #324158;
      color: #fefefe; }
  .button-group.warning .button {
    background-color: #000000;
    color: #fefefe; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: black;
      color: #fefefe; }
  .button-group.alert .button {
    background-color: #851A15;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #6a1511;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (min-width: 75em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 0 0;
  padding: 10vw;
  border: 0;
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #e9e9e9;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #f7f3ea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #dfe4ed;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #d9d9d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f8d3d1;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

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

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

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

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

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

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

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

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

.drilldown a {
  padding: 0.6rem 1rem;
  background: #fefefe; }

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

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

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

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #fefefe; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #6E6E6D; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #6E6E6D transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #fefefe transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 10px;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

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

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

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #6E6E6D transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

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

.dropdown.menu .is-active > a {
  background: transparent;
  color: #6E6E6D; }

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

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

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

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

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

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #6E6E6D transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #6E6E6D; }

@media screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #6E6E6D transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #6E6E6D transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #6E6E6D; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #6E6E6D transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #6E6E6D transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #6E6E6D; } }

@media screen and (min-width: 85.375em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #6E6E6D transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #6E6E6D transparent transparent; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #6E6E6D; } }

@media screen and (min-width: 100em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #6E6E6D transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #6E6E6D transparent transparent; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #6E6E6D; } }

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

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.6rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #6E6E6D transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #6E6E6D; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 10px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #6E6E6D;
  color: #fefefe; }
  .label.primary {
    background: #6E6E6D;
    color: #fefefe; }
  .label.secondary {
    background: #C8AE70;
    color: #0a0a0a; }
  .label.success {
    background: #3E516E;
    color: #fefefe; }
  .label.warning {
    background: #000000;
    color: #fefefe; }
  .label.alert {
    background: #851A15;
    color: #fefefe; }

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 47.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 47.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

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

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 10px;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 10px;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #6E6E6D;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

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

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

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 10px;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #6E6E6D; }
  .progress.secondary .progress-meter {
    background-color: #C8AE70; }
  .progress.success .progress-meter {
    background-color: #3E516E; }
  .progress.warning .progress-meter {
    background-color: #000000; }
  .progress.alert .progress-meter {
    background-color: #851A15; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #6E6E6D;
  border-radius: 10px; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap;
  border-radius: 10px; }

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

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

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

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

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

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

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

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

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

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

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 10px;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 10px;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #6E6E6D; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 10px; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.875rem 0.875rem 0.875rem 0.875rem;
    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.875rem 0.875rem 0.875rem 0.875rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.875rem 0.875rem 0.875rem 0.875rem; }
  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: 74.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; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #6E6E6D; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #696968; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #6E6E6D; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #5f5f5e; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #6E6E6D; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #0a0a0a;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 3rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(110, 110, 109, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

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

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media screen and (min-width: 48em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 85.3125em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 99.9375em) {
    .top-bar.stacked-for-xlarge {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  .top-bar.stacked-for-xxlarge {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .top-bar.stacked-for-xxlarge .top-bar-left,
    .top-bar.stacked-for-xxlarge .top-bar-right {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }

.top-bar-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0; }

.top-bar-left,
.top-bar-right {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 85.375em) {
  .hide-for-xlarge {
    display: none !important; } }

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

@media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

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

@media screen and (min-width: 100em) {
  .hide-for-xxlarge {
    display: none !important; } }

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

@media screen and (min-width: 100em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

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

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

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

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

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

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

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

.align-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-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

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

.align-top {
  -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-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-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

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

.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;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* @group CUSTOM imports */
html {
  scroll-behavior: smooth;
  overflow: auto; }

body {
  overflow: auto; }

h1,
h2,
h3,
h4,
h5 {
  font-family: 'opensans-bold'; }

.extra-bold {
  font-family: 'opensans-extra-bold'; }

.expanded-background-color {
  color: #fefefe; }
  .expanded-background-color h2:before {
    border-color: rgba(254, 254, 254, 0.4) !important; }

a:focus-visible,
a:focus-visible img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1); }

@media screen and (max-width: 74.9375em) {
  .row:not(header) {
    display: block; } }

body .main-content .show-for-sr {
  background: #fefefe; }

@media screen and (max-width: 74.9375em) {
  .row.expanded,
  .row {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important; }
    .row.expanded .row,
    .row .row {
      padding-left: 0 !important;
      padding-right: 0 !important; } }

@media screen and (min-width: 48em) and (max-width: 74.9375em) {
  .row.expanded,
  .row {
    padding-left: 2rem;
    padding-right: 2rem; } }

@media screen and (min-width: 75em) {
  .row.expanded,
  .row {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }

@media screen and (min-width: 100em) {
  .row.expanded,
  .row {
    padding-left: 3rem;
    padding-right: 3rem; } }

@media screen and (max-width: 47.9375em) {
  .row > .row {
    margin-right: -1.5rem;
    margin-left: -1.5rem; } }

.row:not(.row-order) > .row > .columns.large-6:first-child {
  padding-left: 0; }

.row:not(.row-order) > .row > .columns.large-6:last-child {
  padding-right: 0; }

.row.row-order > .row > .columns.large-6:first-child {
  padding-right: 0; }

.row.row-order > .row > .columns.large-6:last-child {
  padding-left: 0; }

.row > .row > .columns.large-12 {
  padding-right: 0;
  padding-left: 0; }

@media screen and (max-width: 74.9375em) {
  .row > .row > .columns {
    padding-right: 0;
    padding-left: 0; } }

.row:not(.expanded) .row {
  margin-right: 0;
  margin-left: 0;
  padding-left: 0 !important;
  padding-right: 0 !important; }

h2 {
  width: 100%;
  position: relative;
  margin-bottom: 2.5rem;
  line-height: 3rem; }
  @media screen and (max-width: 74.9375em) {
    h2 {
      line-height: 2rem;
      margin-bottom: 2rem; } }

figure {
  width: 100%; }
  figure img {
    width: 100%; }

.skip-link {
  position: absolute; }
  .skip-link ul li {
    list-style: none; }
  .skip-link ul li a {
    position: fixed;
    top: 0px;
    right: 100%;
    padding: 0.625rem;
    font-size: 0.8125rem;
    line-height: normal;
    font-weight: bold;
    color: #0a0a0a;
    background-color: #C8AE70;
    white-space: nowrap;
    z-index: 0; }
    .skip-link ul li a:focus {
      left: 0;
      right: auto;
      z-index: 1000; }

.row {
  max-width: 1024px; }
  @media screen and (max-width: 47.9375em) {
    .row {
      padding: 0 1rem; } }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .row {
      padding: 0 1rem; } }

.page-home p.pull-quote {
  max-width: calc(100% - 56px); }
  @media screen and (min-width: 48em) {
    .page-home p.pull-quote {
      max-width: calc(100% - 120px); } }

p.pull-quote {
  position: relative;
  margin: auto;
  display: block; }
  @media screen and (max-width: 47.9375em) {
    p.pull-quote h2 {
      font-size: 18px;
      line-height: 1.75rem; } }
  p.pull-quote .name-surname {
    font-size: 1.75rem;
    margin-top: 2rem; }
  p.pull-quote .job {
    font-size: 1.25rem; }

.inner-page p.pull-quote {
  margin-left: 0;
  margin-bottom: 2rem;
  padding-left: 3rem;
  padding-right: 3rem; }
  @media screen and (min-width: 48em) {
    .inner-page p.pull-quote {
      padding-left: 4rem;
      padding-right: 4rem; } }
  .inner-page p.pull-quote.pull-quote-fill {
    padding-top: 1.25rem;
    color: #fefefe; }
  .inner-page p.pull-quote.pull-quote-fill .name-surname:before {
    border-bottom: 5px solid #fefefe; }

.center-column-x-axis {
  margin: auto; }

@media screen and (max-width: 47.9375em) {
  .center-column-x-small {
    margin: auto;
    text-align: center; } }

@media screen and (max-width: 74.9375em) {
  .center-column-x-medium-down {
    margin: auto;
    text-align: center; } }

.align-middle {
  margin: 0;
  position: absolute;
  z-index: 99;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: -webkit-fit-content;
  width: fit-content;
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .align-middle {
      padding-left: 2rem;
      padding-right: 2rem; } }
  @media screen and (min-width: 75em) {
    .align-middle {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  @media screen and (min-width: 100em) {
    .align-middle {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .align-middle {
      /* IE10+ specific styles go here */
      width: 80%; } }

.region-background-image {
  background-image: url("../../assets/img/signature.jpg");
  background-position: center;
  background-size: cover;
  position: relative; }
  .region-background-image.full-background-image {
    height: 100vh; }
    .region-background-image.full-background-image .row {
      position: absolute;
      z-index: 99;
      top: 50%;
      left: 50%;
      width: 100%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
  .region-background-image .row {
    position: relative;
    z-index: 99; }
  .region-background-image:before {
    opacity: 0.85;
    z-index: 0; }

.img-full-banner {
  padding: 0 !important;
  width: 100%;
  max-width: none; }
  .img-full-banner img {
    width: 100%; }

.region-background {
  color: #fefefe;
  padding-top: 3.5rem;
  padding-bottom: 2rem; }
  .region-background .icon:before, .region-background header .dropdown.menu > li.is-dropdown-submenu-parent > a:before, header .region-background .dropdown.menu > li.is-dropdown-submenu-parent > a:before,
  .region-background .icon:after,
  .region-background header .dropdown.menu > li.is-dropdown-submenu-parent > a:after,
  header .region-background .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
    color: #fefefe;
    opacity: 0.6; }
  .region-background h2:before {
    border-color: #fefefe;
    opacity: 0.6; }
  .region-background .button {
    background: #fefefe !important;
    font-weight: bold; }
    .region-background .button:hover {
      outline: none; }
    .region-background .button:hover, .region-background .button:focus {
      background: none !important;
      color: #fefefe !important;
      border: 1px solid #fefefe; }

.block-border-left,
.block-border-right,
.block-border-bottom {
  padding: 2rem !important;
  margin: 2rem 0;
  position: relative; }
  .block-border-left:before,
  .block-border-right:before,
  .block-border-bottom:before {
    font-size: 4rem;
    position: absolute;
    right: -1.25rem;
    bottom: -1.6rem;
    z-index: 3; }
  .block-border-left.icon-search-highlight:after,
  .block-border-right.icon-search-highlight:after,
  .block-border-bottom.icon-search-highlight:after {
    content: '';
    position: absolute;
    right: -1.4rem;
    bottom: -0.86rem;
    width: 3.2rem;
    height: 3.2rem;
    background: #fefefe;
    border-radius: 5rem;
    z-index: 2; }
  .block-border-left p:last-child,
  .block-border-right p:last-child,
  .block-border-bottom p:last-child {
    margin-bottom: 0rem; }

.page-home .main-content a {
  color: #FFCDFA;
  font-weight: bold;
  text-decoration: underline; }
  .page-home .main-content a:hover {
    opacity: 0.85;
    text-decoration: none; }

.page-home .full-page-banner {
  background-color: #FFCDFA; }
  .page-home .full-page-banner:before {
    border: 1px solid #FFCDFA; }

.page-home.inner-page h2:before {
  border-color: #FFCDFA; }

.page-home .main-content .button.primary {
  background-color: #FFCDFA; }
  .page-home .main-content .button.primary:hover {
    background-color: #ffa9f6; }

.page-home .region-background {
  background-color: #FFCDFA; }

.page-home .region-background .button {
  color: #FFCDFA; }

.page-home .region-background-image:before {
  background: #FFCDFA; }

.page-home.inner-page p.pull-quote {
  border-left: 0.25rem solid #FFCDFA; }
  @media screen and (min-width: 48em) {
    .page-home.inner-page p.pull-quote {
      border-left: 0.5rem solid #FFCDFA; } }
  @media screen and (min-width: 75em) {
    .page-home.inner-page p.pull-quote {
      border-left: 1rem solid #FFCDFA; } }

.page-home.inner-page p.pull-quote:not(.pull-quote-fill) .name-surname:before {
  border-color: #FFCDFA; }

.page-home.inner-page p.pull-quote:not(.pull-quote-fill):before,
.page-home.inner-page p.pull-quote:not(.pull-quote-fill):after {
  color: #FFCDFA; }

.page-home.inner-page p.pull-quote.pull-quote-fill {
  border-left: 1rem solid rgba(254, 254, 254, 0.3);
  background: #FFCDFA; }

.page-home .orbit nav.orbit-bullets button {
  background: #FFCDFA;
  border: 4px solid #FFCDFA; }
  .page-home .orbit nav.orbit-bullets button:hover {
    background: #ff9af5; }
  .page-home .orbit nav.orbit-bullets button.is-active {
    border: 4px solid #FFCDFA;
    background: none; }

.page-home .orbit button.orbit-previous,
.page-home .orbit button.orbit-next,
.page-home .orbit button.orbit-pause,
.page-home .orbit button.orbit-play {
  color: #FFCDFA; }
  .page-home .orbit button.orbit-previous:hover,
  .page-home .orbit button.orbit-next:hover,
  .page-home .orbit button.orbit-pause:hover,
  .page-home .orbit button.orbit-play:hover {
    background: none;
    border: 1px solid #FFCDFA; }
  .page-home .orbit button.orbit-previous:active,
  .page-home .orbit button.orbit-next:active,
  .page-home .orbit button.orbit-pause:active,
  .page-home .orbit button.orbit-play:active {
    border: 1px solid #FFCDFA; }
  .page-home .orbit button.orbit-previous:focus-visible,
  .page-home .orbit button.orbit-next:focus-visible,
  .page-home .orbit button.orbit-pause:focus-visible,
  .page-home .orbit button.orbit-play:focus-visible {
    color: #FFCDFA; }

.page-home li.accordion-item {
  border-bottom: 1px solid #FFCDFA; }

.page-home .infograph-group .icon:before, .page-home .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:before, header .page-home .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:before,
.page-home .infograph-group .icon:after,
.page-home .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:after,
header .page-home .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
  color: #FFCDFA; }

.page-home .infograph-group-hor .infograph-row {
  border-bottom: 0.2rem solid #cea974; }

.page-home .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon:before {
  color: #FFCDFA; }

.page-home .infograph-group:not(.infograph-group-hor) {
  border-bottom: 2px dotted #FFCDFA; }

.page-home .block-border-left {
  background-color: #eee9e2;
  border-left: 0.2rem solid #cea974; }

.page-home .block-border-right {
  background: #e4eff8;
  border-right: 0.2rem solid #7c8fb1; }

.page-home .block-border-bottom {
  background: #eee9e2;
  border-bottom: 0.2rem solid #cea974; }

.page-home ul.focus-anchors li a {
  color: #FFCDFA; }

.page-home .infograph-row .infograph-icon-number-inner:nth-child(odd) .infographic-row-table {
  background: white; }

.page-section-1 .main-content a {
  color: #684F00;
  font-weight: bold;
  text-decoration: underline; }
  .page-section-1 .main-content a:hover {
    opacity: 0.85;
    text-decoration: none; }

.page-section-1 .full-page-banner {
  background-color: #684F00; }
  .page-section-1 .full-page-banner:before {
    border: 1px solid #684F00; }

.page-section-1.inner-page h2:before {
  border-color: #684F00; }

.page-section-1 .main-content .button.primary {
  background-color: #684F00; }
  .page-section-1 .main-content .button.primary:hover {
    background-color: #443400; }

.page-section-1 .region-background {
  background-color: #684F00; }

.page-section-1 .region-background .button {
  color: #684F00; }

.page-section-1 .region-background-image:before {
  background: #684F00; }

.page-section-1.inner-page p.pull-quote {
  border-left: 0.25rem solid #684F00; }
  @media screen and (min-width: 48em) {
    .page-section-1.inner-page p.pull-quote {
      border-left: 0.5rem solid #684F00; } }
  @media screen and (min-width: 75em) {
    .page-section-1.inner-page p.pull-quote {
      border-left: 1rem solid #684F00; } }

.page-section-1.inner-page p.pull-quote:not(.pull-quote-fill) .name-surname:before {
  border-color: #684F00; }

.page-section-1.inner-page p.pull-quote:not(.pull-quote-fill):before,
.page-section-1.inner-page p.pull-quote:not(.pull-quote-fill):after {
  color: #684F00; }

.page-section-1.inner-page p.pull-quote.pull-quote-fill {
  border-left: 1rem solid rgba(254, 254, 254, 0.3);
  background: #684F00; }

.page-section-1 .orbit nav.orbit-bullets button {
  background: #684F00;
  border: 4px solid #684F00; }
  .page-section-1 .orbit nav.orbit-bullets button:hover {
    background: #352800; }
  .page-section-1 .orbit nav.orbit-bullets button.is-active {
    border: 4px solid #684F00;
    background: none; }

.page-section-1 .orbit button.orbit-previous,
.page-section-1 .orbit button.orbit-next,
.page-section-1 .orbit button.orbit-pause,
.page-section-1 .orbit button.orbit-play {
  color: #684F00; }
  .page-section-1 .orbit button.orbit-previous:hover,
  .page-section-1 .orbit button.orbit-next:hover,
  .page-section-1 .orbit button.orbit-pause:hover,
  .page-section-1 .orbit button.orbit-play:hover {
    background: none;
    border: 1px solid #684F00; }
  .page-section-1 .orbit button.orbit-previous:active,
  .page-section-1 .orbit button.orbit-next:active,
  .page-section-1 .orbit button.orbit-pause:active,
  .page-section-1 .orbit button.orbit-play:active {
    border: 1px solid #684F00; }
  .page-section-1 .orbit button.orbit-previous:focus-visible,
  .page-section-1 .orbit button.orbit-next:focus-visible,
  .page-section-1 .orbit button.orbit-pause:focus-visible,
  .page-section-1 .orbit button.orbit-play:focus-visible {
    color: #684F00; }

.page-section-1 li.accordion-item {
  border-bottom: 1px solid #684F00; }

.page-section-1 .infograph-group .icon:before, .page-section-1 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:before, header .page-section-1 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:before,
.page-section-1 .infograph-group .icon:after,
.page-section-1 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:after,
header .page-section-1 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
  color: #684F00; }

.page-section-1 .infograph-group-hor .infograph-row {
  border-bottom: 0.2rem solid #cea974; }

.page-section-1 .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon:before {
  color: #684F00; }

.page-section-1 .infograph-group:not(.infograph-group-hor) {
  border-bottom: 2px dotted #684F00; }

.page-section-1 .block-border-left {
  background-color: #eee9e2;
  border-left: 0.2rem solid #cea974; }

.page-section-1 .block-border-right {
  background: #e4eff8;
  border-right: 0.2rem solid #7c8fb1; }

.page-section-1 .block-border-bottom {
  background: #eee9e2;
  border-bottom: 0.2rem solid #cea974; }

.page-section-1 ul.focus-anchors li a {
  color: #684F00; }

.page-section-1 .infograph-row .infograph-icon-number-inner:nth-child(odd) .infographic-row-table {
  background: #ffe591; }

.page-section-2 .main-content a {
  color: #655139;
  font-weight: bold;
  text-decoration: underline; }
  .page-section-2 .main-content a:hover {
    opacity: 0.85;
    text-decoration: none; }

.page-section-2 .full-page-banner {
  background-color: #655139; }
  .page-section-2 .full-page-banner:before {
    border: 1px solid #655139; }

.page-section-2.inner-page h2:before {
  border-color: #655139; }

.page-section-2 .main-content .button.primary {
  background-color: #655139; }
  .page-section-2 .main-content .button.primary:hover {
    background-color: #4e3f2c; }

.page-section-2 .region-background {
  background-color: #655139; }

.page-section-2 .region-background .button {
  color: #655139; }

.page-section-2 .region-background-image:before {
  background: #655139; }

.page-section-2.inner-page p.pull-quote {
  border-left: 0.25rem solid #655139; }
  @media screen and (min-width: 48em) {
    .page-section-2.inner-page p.pull-quote {
      border-left: 0.5rem solid #655139; } }
  @media screen and (min-width: 75em) {
    .page-section-2.inner-page p.pull-quote {
      border-left: 1rem solid #655139; } }

.page-section-2.inner-page p.pull-quote:not(.pull-quote-fill) .name-surname:before {
  border-color: #655139; }

.page-section-2.inner-page p.pull-quote:not(.pull-quote-fill):before,
.page-section-2.inner-page p.pull-quote:not(.pull-quote-fill):after {
  color: #655139; }

.page-section-2.inner-page p.pull-quote.pull-quote-fill {
  border-left: 1rem solid rgba(254, 254, 254, 0.3);
  background: #655139; }

.page-section-2 .orbit nav.orbit-bullets button {
  background: #655139;
  border: 4px solid #655139; }
  .page-section-2 .orbit nav.orbit-bullets button:hover {
    background: #443727; }
  .page-section-2 .orbit nav.orbit-bullets button.is-active {
    border: 4px solid #655139;
    background: none; }

.page-section-2 .orbit button.orbit-previous,
.page-section-2 .orbit button.orbit-next,
.page-section-2 .orbit button.orbit-pause,
.page-section-2 .orbit button.orbit-play {
  color: #655139; }
  .page-section-2 .orbit button.orbit-previous:hover,
  .page-section-2 .orbit button.orbit-next:hover,
  .page-section-2 .orbit button.orbit-pause:hover,
  .page-section-2 .orbit button.orbit-play:hover {
    background: none;
    border: 1px solid #655139; }
  .page-section-2 .orbit button.orbit-previous:active,
  .page-section-2 .orbit button.orbit-next:active,
  .page-section-2 .orbit button.orbit-pause:active,
  .page-section-2 .orbit button.orbit-play:active {
    border: 1px solid #655139; }
  .page-section-2 .orbit button.orbit-previous:focus-visible,
  .page-section-2 .orbit button.orbit-next:focus-visible,
  .page-section-2 .orbit button.orbit-pause:focus-visible,
  .page-section-2 .orbit button.orbit-play:focus-visible {
    color: #655139; }

.page-section-2 li.accordion-item {
  border-bottom: 1px solid #655139; }

.page-section-2 .infograph-group .icon:before, .page-section-2 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:before, header .page-section-2 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:before,
.page-section-2 .infograph-group .icon:after,
.page-section-2 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:after,
header .page-section-2 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
  color: #655139; }

.page-section-2 .infograph-group-hor .infograph-row {
  border-bottom: 0.2rem solid #cea974; }

.page-section-2 .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon:before {
  color: #655139; }

.page-section-2 .infograph-group:not(.infograph-group-hor) {
  border-bottom: 2px dotted #655139; }

.page-section-2 .block-border-left {
  background-color: #eee9e2;
  border-left: 0.2rem solid #cea974; }

.page-section-2 .block-border-right {
  background: #e4eff8;
  border-right: 0.2rem solid #7c8fb1; }

.page-section-2 .block-border-bottom {
  background: #eee9e2;
  border-bottom: 0.2rem solid #cea974; }

.page-section-2 ul.focus-anchors li a {
  color: #655139; }

.page-section-2 .infograph-row .infograph-icon-number-inner:nth-child(odd) .infographic-row-table {
  background: #ebe4db; }

.page-section-3 .main-content a {
  color: #73485C;
  font-weight: bold;
  text-decoration: underline; }
  .page-section-3 .main-content a:hover {
    opacity: 0.85;
    text-decoration: none; }

.page-section-3 .full-page-banner {
  background-color: #73485C; }
  .page-section-3 .full-page-banner:before {
    border: 1px solid #73485C; }

.page-section-3.inner-page h2:before {
  border-color: #73485C; }

.page-section-3 .main-content .button.primary {
  background-color: #73485C; }
  .page-section-3 .main-content .button.primary:hover {
    background-color: #5d3a4a; }

.page-section-3 .region-background {
  background-color: #73485C; }

.page-section-3 .region-background .button {
  color: #73485C; }

.page-section-3 .region-background-image:before {
  background: #73485C; }

.page-section-3.inner-page p.pull-quote {
  border-left: 0.25rem solid #73485C; }
  @media screen and (min-width: 48em) {
    .page-section-3.inner-page p.pull-quote {
      border-left: 0.5rem solid #73485C; } }
  @media screen and (min-width: 75em) {
    .page-section-3.inner-page p.pull-quote {
      border-left: 1rem solid #73485C; } }

.page-section-3.inner-page p.pull-quote:not(.pull-quote-fill) .name-surname:before {
  border-color: #73485C; }

.page-section-3.inner-page p.pull-quote:not(.pull-quote-fill):before,
.page-section-3.inner-page p.pull-quote:not(.pull-quote-fill):after {
  color: #73485C; }

.page-section-3.inner-page p.pull-quote.pull-quote-fill {
  border-left: 1rem solid rgba(254, 254, 254, 0.3);
  background: #73485C; }

.page-section-3 .orbit nav.orbit-bullets button {
  background: #73485C;
  border: 4px solid #73485C; }
  .page-section-3 .orbit nav.orbit-bullets button:hover {
    background: #543443; }
  .page-section-3 .orbit nav.orbit-bullets button.is-active {
    border: 4px solid #73485C;
    background: none; }

.page-section-3 .orbit button.orbit-previous,
.page-section-3 .orbit button.orbit-next,
.page-section-3 .orbit button.orbit-pause,
.page-section-3 .orbit button.orbit-play {
  color: #73485C; }
  .page-section-3 .orbit button.orbit-previous:hover,
  .page-section-3 .orbit button.orbit-next:hover,
  .page-section-3 .orbit button.orbit-pause:hover,
  .page-section-3 .orbit button.orbit-play:hover {
    background: none;
    border: 1px solid #73485C; }
  .page-section-3 .orbit button.orbit-previous:active,
  .page-section-3 .orbit button.orbit-next:active,
  .page-section-3 .orbit button.orbit-pause:active,
  .page-section-3 .orbit button.orbit-play:active {
    border: 1px solid #73485C; }
  .page-section-3 .orbit button.orbit-previous:focus-visible,
  .page-section-3 .orbit button.orbit-next:focus-visible,
  .page-section-3 .orbit button.orbit-pause:focus-visible,
  .page-section-3 .orbit button.orbit-play:focus-visible {
    color: #73485C; }

.page-section-3 li.accordion-item {
  border-bottom: 1px solid #73485C; }

.page-section-3 .infograph-group .icon:before, .page-section-3 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:before, header .page-section-3 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:before,
.page-section-3 .infograph-group .icon:after,
.page-section-3 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:after,
header .page-section-3 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
  color: #73485C; }

.page-section-3 .infograph-group-hor .infograph-row {
  border-bottom: 0.2rem solid #cea974; }

.page-section-3 .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon:before {
  color: #73485C; }

.page-section-3 .infograph-group:not(.infograph-group-hor) {
  border-bottom: 2px dotted #73485C; }

.page-section-3 .block-border-left {
  background-color: #eee9e2;
  border-left: 0.2rem solid #cea974; }

.page-section-3 .block-border-right {
  background: #e4eff8;
  border-right: 0.2rem solid #7c8fb1; }

.page-section-3 .block-border-bottom {
  background: #eee9e2;
  border-bottom: 0.2rem solid #cea974; }

.page-section-3 ul.focus-anchors li a {
  color: #73485C; }

.page-section-3 .infograph-row .infograph-icon-number-inner:nth-child(odd) .infographic-row-table {
  background: #f5eef1; }

.page-section-4 .main-content a {
  color: #455E1C;
  font-weight: bold;
  text-decoration: underline; }
  .page-section-4 .main-content a:hover {
    opacity: 0.85;
    text-decoration: none; }

.page-section-4 .full-page-banner {
  background-color: #455E1C; }
  .page-section-4 .full-page-banner:before {
    border: 1px solid #455E1C; }

.page-section-4.inner-page h2:before {
  border-color: #455E1C; }

.page-section-4 .main-content .button.primary {
  background-color: #455E1C; }
  .page-section-4 .main-content .button.primary:hover {
    background-color: #314214; }

.page-section-4 .region-background {
  background-color: #455E1C; }

.page-section-4 .region-background .button {
  color: #455E1C; }

.page-section-4 .region-background-image:before {
  background: #455E1C; }

.page-section-4.inner-page p.pull-quote {
  border-left: 0.25rem solid #455E1C; }
  @media screen and (min-width: 48em) {
    .page-section-4.inner-page p.pull-quote {
      border-left: 0.5rem solid #455E1C; } }
  @media screen and (min-width: 75em) {
    .page-section-4.inner-page p.pull-quote {
      border-left: 1rem solid #455E1C; } }

.page-section-4.inner-page p.pull-quote:not(.pull-quote-fill) .name-surname:before {
  border-color: #455E1C; }

.page-section-4.inner-page p.pull-quote:not(.pull-quote-fill):before,
.page-section-4.inner-page p.pull-quote:not(.pull-quote-fill):after {
  color: #455E1C; }

.page-section-4.inner-page p.pull-quote.pull-quote-fill {
  border-left: 1rem solid rgba(254, 254, 254, 0.3);
  background: #455E1C; }

.page-section-4 .orbit nav.orbit-bullets button {
  background: #455E1C;
  border: 4px solid #455E1C; }
  .page-section-4 .orbit nav.orbit-bullets button:hover {
    background: #283710; }
  .page-section-4 .orbit nav.orbit-bullets button.is-active {
    border: 4px solid #455E1C;
    background: none; }

.page-section-4 .orbit button.orbit-previous,
.page-section-4 .orbit button.orbit-next,
.page-section-4 .orbit button.orbit-pause,
.page-section-4 .orbit button.orbit-play {
  color: #455E1C; }
  .page-section-4 .orbit button.orbit-previous:hover,
  .page-section-4 .orbit button.orbit-next:hover,
  .page-section-4 .orbit button.orbit-pause:hover,
  .page-section-4 .orbit button.orbit-play:hover {
    background: none;
    border: 1px solid #455E1C; }
  .page-section-4 .orbit button.orbit-previous:active,
  .page-section-4 .orbit button.orbit-next:active,
  .page-section-4 .orbit button.orbit-pause:active,
  .page-section-4 .orbit button.orbit-play:active {
    border: 1px solid #455E1C; }
  .page-section-4 .orbit button.orbit-previous:focus-visible,
  .page-section-4 .orbit button.orbit-next:focus-visible,
  .page-section-4 .orbit button.orbit-pause:focus-visible,
  .page-section-4 .orbit button.orbit-play:focus-visible {
    color: #455E1C; }

.page-section-4 li.accordion-item {
  border-bottom: 1px solid #455E1C; }

.page-section-4 .infograph-group .icon:before, .page-section-4 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:before, header .page-section-4 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:before,
.page-section-4 .infograph-group .icon:after,
.page-section-4 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:after,
header .page-section-4 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
  color: #455E1C; }

.page-section-4 .infograph-group-hor .infograph-row {
  border-bottom: 0.2rem solid #cea974; }

.page-section-4 .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon:before {
  color: #455E1C; }

.page-section-4 .infograph-group:not(.infograph-group-hor) {
  border-bottom: 2px dotted #455E1C; }

.page-section-4 .block-border-left {
  background-color: #eee9e2;
  border-left: 0.2rem solid #cea974; }

.page-section-4 .block-border-right {
  background: #e4eff8;
  border-right: 0.2rem solid #7c8fb1; }

.page-section-4 .block-border-bottom {
  background: #eee9e2;
  border-bottom: 0.2rem solid #cea974; }

.page-section-4 ul.focus-anchors li a {
  color: #455E1C; }

.page-section-4 .infograph-row .infograph-icon-number-inner:nth-child(odd) .infographic-row-table {
  background: #d7eab8; }

.page-section-5 .main-content a {
  color: #7E602C;
  font-weight: bold;
  text-decoration: underline; }
  .page-section-5 .main-content a:hover {
    opacity: 0.85;
    text-decoration: none; }

.page-section-5 .full-page-banner {
  background-color: #7E602C; }
  .page-section-5 .full-page-banner:before {
    border: 1px solid #7E602C; }

.page-section-5.inner-page h2:before {
  border-color: #7E602C; }

.page-section-5 .main-content .button.primary {
  background-color: #7E602C; }
  .page-section-5 .main-content .button.primary:hover {
    background-color: #644c23; }

.page-section-5 .region-background {
  background-color: #7E602C; }

.page-section-5 .region-background .button {
  color: #7E602C; }

.page-section-5 .region-background-image:before {
  background: #7E602C; }

.page-section-5.inner-page p.pull-quote {
  border-left: 0.25rem solid #7E602C; }
  @media screen and (min-width: 48em) {
    .page-section-5.inner-page p.pull-quote {
      border-left: 0.5rem solid #7E602C; } }
  @media screen and (min-width: 75em) {
    .page-section-5.inner-page p.pull-quote {
      border-left: 1rem solid #7E602C; } }

.page-section-5.inner-page p.pull-quote:not(.pull-quote-fill) .name-surname:before {
  border-color: #7E602C; }

.page-section-5.inner-page p.pull-quote:not(.pull-quote-fill):before,
.page-section-5.inner-page p.pull-quote:not(.pull-quote-fill):after {
  color: #7E602C; }

.page-section-5.inner-page p.pull-quote.pull-quote-fill {
  border-left: 1rem solid rgba(254, 254, 254, 0.3);
  background: #7E602C; }

.page-section-5 .orbit nav.orbit-bullets button {
  background: #7E602C;
  border: 4px solid #7E602C; }
  .page-section-5 .orbit nav.orbit-bullets button:hover {
    background: #58431f; }
  .page-section-5 .orbit nav.orbit-bullets button.is-active {
    border: 4px solid #7E602C;
    background: none; }

.page-section-5 .orbit button.orbit-previous,
.page-section-5 .orbit button.orbit-next,
.page-section-5 .orbit button.orbit-pause,
.page-section-5 .orbit button.orbit-play {
  color: #7E602C; }
  .page-section-5 .orbit button.orbit-previous:hover,
  .page-section-5 .orbit button.orbit-next:hover,
  .page-section-5 .orbit button.orbit-pause:hover,
  .page-section-5 .orbit button.orbit-play:hover {
    background: none;
    border: 1px solid #7E602C; }
  .page-section-5 .orbit button.orbit-previous:active,
  .page-section-5 .orbit button.orbit-next:active,
  .page-section-5 .orbit button.orbit-pause:active,
  .page-section-5 .orbit button.orbit-play:active {
    border: 1px solid #7E602C; }
  .page-section-5 .orbit button.orbit-previous:focus-visible,
  .page-section-5 .orbit button.orbit-next:focus-visible,
  .page-section-5 .orbit button.orbit-pause:focus-visible,
  .page-section-5 .orbit button.orbit-play:focus-visible {
    color: #7E602C; }

.page-section-5 li.accordion-item {
  border-bottom: 1px solid #7E602C; }

.page-section-5 .infograph-group .icon:before, .page-section-5 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:before, header .page-section-5 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:before,
.page-section-5 .infograph-group .icon:after,
.page-section-5 .infograph-group header .dropdown.menu > li.is-dropdown-submenu-parent > a:after,
header .page-section-5 .infograph-group .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
  color: #7E602C; }

.page-section-5 .infograph-group-hor .infograph-row {
  border-bottom: 0.2rem solid #cea974; }

.page-section-5 .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon:before {
  color: #7E602C; }

.page-section-5 .infograph-group:not(.infograph-group-hor) {
  border-bottom: 2px dotted #7E602C; }

.page-section-5 .block-border-left {
  background-color: #eee9e2;
  border-left: 0.2rem solid #cea974; }

.page-section-5 .block-border-right {
  background: #e4eff8;
  border-right: 0.2rem solid #7c8fb1; }

.page-section-5 .block-border-bottom {
  background: #eee9e2;
  border-bottom: 0.2rem solid #cea974; }

.page-section-5 ul.focus-anchors li a {
  color: #7E602C; }

.page-section-5 .infograph-row .infograph-icon-number-inner:nth-child(odd) .infographic-row-table {
  background: #f4ecde; }

.inner-page h2.dark-blue-heading:before {
  border-color: #335270; }

iframe {
  width: 100%; }

@media screen and (min-width: 75em) {
  .photo-with-text {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; } }

.button {
  border-radius: 2rem;
  line-height: 1.5rem;
  padding: 0.75rem 1.5rem;
  margin-right: 0.5rem; }
  .button:before, .button:after {
    font-size: 1.5rem; }
  .button:before {
    padding-right: 0.25rem; }
  .button:before {
    padding-left: 0.25rem; }
  .button:focus {
    border: 2px solid black;
    outline: none;
    box-shadow: 2px 5px 9px 0px rgba(10, 10, 10, 0.45); }
  .button.button-white {
    background: #fefefe;
    color: #6E6E6D;
    font-weight: bold;
    box-shadow: 2px 5px 9px 0px rgba(10, 10, 10, 0.45); }
  .button.button-white:hover {
    background: #0a0a0a;
    color: #C8AE70; }
  .button.button-white:focus {
    background: none;
    color: #0a0a0a; }

.button-group.no-gaps {
  margin-bottom: 2rem; }
  .button-group.no-gaps .button {
    border-radius: 0; }
  @media screen and (max-width: 47.9375em) {
    .button-group.no-gaps .button {
      margin-bottom: 0; }
    .button-group.no-gaps .button:first-child {
      border-radius: 2rem 2rem 0 0; }
    .button-group.no-gaps .button:last-child {
      border-radius: 0 0 2rem 2rem; } }
  @media screen and (min-width: 48em) {
    .button-group.no-gaps .button {
      margin-right: 0; }
    .button-group.no-gaps .button:first-child {
      border-radius: 2rem 0 0 2rem; }
    .button-group.no-gaps .button:last-child {
      border-radius: 0 2rem 2rem 0; } }

@font-face {
  font-family: 'cvria-icons';
  src: url("../fonts/cvria-icons/cvria.woff2?dtqcvb") format("woff2"), url("../fonts/cvria-icons/cvria.ttf?dtqcvb") format("truetype"), url("../fonts/cvria-icons/cvria.woff?dtqcvb") format("woff"), url("../fonts/cvria-icons/cvria.svg?dtqcvb#cvria-icons") format("svg");
  font-weight: normal;
  font-style: normal; }

/* @group ICONS ARRAY */
.icon-big-admin:before {
  content: ""; }

.icon-big-at-a-glance:before {
  content: ""; }

.icon-big-connected:before {
  content: ""; }

.icon-big-exchange:before {
  content: ""; }

.icon-big-law:before {
  content: ""; }

.icon-big-telescope:before {
  content: ""; }

.icon-big-seventy-years:before {
  content: ""; }

.icon-arrow-down:after, header .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
  content: ""; }

.icon-arrow-left:before {
  content: ""; }

.icon-arrow-right:before {
  content: ""; }

.icon-arrow-up:before {
  content: ""; }

.icon-social-apple:before {
  content: ""; }

.icon-social-google-play:before {
  content: ""; }

.icon-social-linkedin:before {
  content: ""; }

.icon-social-twitter:before {
  content: ""; }

.icon-social-facebook:before {
  content: ""; }

.icon-social-youtube:before {
  content: ""; }

.icon-social-mastodon:before {
  content: ""; }

.icon-social-bluesky:before {
  content: ""; }

.icon-social-instagram:before {
  content: ""; }

.icon-social-threads:before {
  content: ""; }

.icon-social-whatsapp:before {
  content: ""; }

.icon-print:before {
  content: ""; }

.icon-burger-menu:before {
  content: ""; }

.icon-close:before {
  content: ""; }

.icon-scroll:after {
  content: ""; }

.icon-pause:before {
  content: ""; }

.icon-play:before {
  content: ""; }

.icon-download:before {
  content: ""; }

.icon-search-highlight:before {
  content: ""; }

.icon-cvria-access-doc:before {
  content: ""; }

.icon-cvria-annual-rep:before {
  content: ""; }

.icon-cvria-urgent-bud:before {
  content: ""; }

.icon-cvria-arrow-cvria:before {
  content: ""; }

.icon-cvria-avocat:before {
  content: ""; }

.icon-cvria-browser:before {
  content: ""; }

.icon-cvria-cases-brou:before {
  content: ""; }

.icon-cvria-cases-comp:before {
  content: ""; }

.icon-clock-duration:before {
  content: ""; }

.icon-pending-cases:before {
  content: ""; }

.icon-cvria-interpreters:before {
  content: ""; }

.icon-cvria-communiqua:before {
  content: ""; }

.icon-cvria-judge:before {
  content: ""; }

.icon-juristes-linguistes:before {
  content: ""; }

.icon-cvria-contact-form:before {
  content: ""; }

.icon-cvria-lang:before {
  content: ""; }

.icon-cvria-officials-other:before {
  content: ""; }

.icon-cvria-judicial-not:before {
  content: ""; }

.icon-cvria-external:before {
  content: ""; }

.icon-visitors-received:before {
  content: ""; }

.icon-cvria-tweets:before {
  content: ""; }

.icon-cvria-visit-seat:before {
  content: ""; }

.icon-male:before {
  content: ""; }

.icon-female:before {
  content: ""; }

.icon-europe:before {
  content: ""; }

.icon-e-curia:before {
  content: ""; }

.icon-info:before {
  content: ""; }

.icon-open-door:before {
  content: ""; }

.icon-percentage:before {
  content: ""; }

.icon:before, header .dropdown.menu > li.is-dropdown-submenu-parent > a:before,
.icon:after,
header .dropdown.menu > li.is-dropdown-submenu-parent > a:after,
[class*=" icon-"]:before,
[class*=" icon-"]:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'cvria-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* @group FONT ICONS MIXIN */
@media print {
  boby {
    position: relative;
    page-break-inside: avoid !important; }
  .inner-page .full-page-banner:before {
    display: none; }
  .inner-page .full-page-banner:not(.loader-block) .align-middle {
    width: 100% !important;
    position: relative;
    padding-left: 0;
    padding-right: 0; }
  .inner-page.page-section-4 .full-page-banner:not(.loader-block) .align-middle {
    padding-left: 3rem !important;
    padding-right: 3rem !important; }
  header {
    font-size: 0;
    position: fixed;
    top: 0rem;
    bottom: auto;
    border: 1px solid #fefefe;
    height: 100%; }
  header:not(:first-child) {
    display: none; }
  .header-logo-svg {
    top: 0;
    position: absolute; }
  .header-menu,
  .header-language-selector,
  .header .header-logo .header-logo-symbol-svg {
    display: none; }
  .share-block {
    display: none; }
  .inner-page .main-content h2 {
    page-break-inside: avoid !important; }
  main .row {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important; }
  footer {
    display: none; }
  .top-link,
  .top-link.show {
    display: none; }
  .homepage-region-two {
    margin-top: 6rem; }
    .homepage-region-two:before {
      margin-top: 4.5rem; }
    .homepage-region-two h3 {
      margin-top: 0; }
  .homepage-region-three {
    display: none; }
  .homepage-region-four {
    margin-top: 6rem; }
    .homepage-region-four img {
      margin-top: 6rem; }
  .page-home .main-content > div {
    page-break-inside: avoid !important;
    height: 100%;
    margin-top: 6rem;
    padding-top: 6rem; }
  .inner-page img:not([src*="graph"]):not([src*="ua_flag_1_enhanced-colours.jpg"]) {
    width: 12.5rem !important;
    max-width: 12.5rem !important;
    height: auto;
    margin-bottom: 1rem; }
  .inner-page div.full-width-img-no-paddings img {
    min-width: 100% !important; }
  .inner-page img[src*="graph"] {
    width: 70%;
    max-width: 70%; }
  .inner-page img[src="ua_flag_1_enhanced-colours.jpg"] {
    width: 100% !important;
    max-width: 100% !important; }
  .inner-page #region-3 img {
    min-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important; }
  .inner-page img[src*="youtube-logo"] {
    display: none !important; }
  .inner-page .focus-title {
    page-break-inside: avoid !important; }
  .inner-page .focus-title img {
    min-height: 70px; }
  .inner-page .block-highlight,
  .inner-page .block-highlight-2 {
    page-break-inside: avoid !important; }
  .inner-page .main-content > div {
    page-break-inside: avoid !important; }
    .inner-page .main-content > div a {
      word-break: break-all; }
  .inner-page .orbit .orbit-bullets,
  .inner-page .orbit button {
    display: none; }
  .members-block {
    display: block !important;
    width: 100% !important; }
  .members-block .columns {
    display: block !important;
    width: 100% !important; }
  .members-block .member-item {
    margin-bottom: 2rem !important;
    page-break-inside: avoid !important; }
  .members-block .member-item .member-description {
    margin-top: 0 !important; }
  .page-section-2 #homepage-2 {
    display: none; }
  .page-section-3 #region-4.inner-page-region-3 .row:nth-child(3) img,
  .page-section-3 #region-4.inner-page-region-3 .row:nth-child(4) img,
  .page-section-3 #region-4.inner-page-region-3 .row:nth-child(5) img,
  .page-section-3 #region-4.inner-page-region-3 .row:nth-child(6) img,
  .page-section-3 #region-4.inner-page-region-3 .row:nth-child(7) img,
  .page-section-3 #region-4.inner-page-region-3 .row:nth-child(8) img,
  .page-section-3 .inner-page-region-5 .row img {
    max-width: 18rem !important;
    min-width: 18rem !important;
    width: 18rem !important; }
  .page-section-4 .inner-page-region-2-1 .row {
    margin: 0 !important;
    padding: 0 !important; }
    .page-section-4 .inner-page-region-2-1 .row img {
      min-width: 18.75rem !important; }
  .page-section-5 #homepage-2 .row,
  .page-section-5 #homepage-2 .row .columns {
    width: 100% !important;
    display: block;
    padding-left: 0 !important;
    padding-right: 0 !important; }
  .page-section-5 .row img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important; }
  .orbit ul.orbit-container li.orbit-slide {
    display: block !important; }
  .page-section-6 .icon-heading:after {
    display: none; }
  .page-section-6 .inner-page-region-2-1 .row {
    padding-left: 0 !important;
    padding-right: 0 !important; } }

.inner-page h2:before, p.pull-quote .name-surname:before, .homepage-region-two:before, .homepage-region-four h2:before, .homepage-region-four .quote-right-side h3:before, .full-page-banner h1:before {
  content: "";
  border-bottom: 3px solid #0a0a0a;
  width: 4rem;
  display: block;
  margin-bottom: 0.5rem; }
  @media screen and (min-width: 75em) {
    .inner-page h2:before, p.pull-quote .name-surname:before, .homepage-region-two:before, .homepage-region-four h2:before, .homepage-region-four .quote-right-side h3:before, .full-page-banner h1:before {
      border-bottom: 5px solid #0a0a0a;
      width: 5.625rem; } }

.region-background-image:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 1; }

@media screen and (min-width: 75em) {
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(en) {
    max-width: 34rem;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(cs) {
    width: 35.3%;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(fi) {
    width: 42.9%;
    padding: 0; }
    .page-home .full-page-banner:not(.loader-block) .align-middle:lang(fi) h1 {
      font-size: 5rem; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(hr) {
    max-width: 30rem;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(hu) {
    max-width: 30rem;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(it) {
    max-width: 45rem;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(lt) {
    max-width: 55rem;
    padding: 0;
    width: 100%; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(lv) {
    max-width: 48.6rem;
    padding: 0;
    width: 100%; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(mt), .page-home .full-page-banner:not(.loader-block) .align-middle:lang(pl), .page-home .full-page-banner:not(.loader-block) .align-middle:lang(pt) {
    max-width: 38.6rem;
    padding: 0;
    width: 100%; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(nl) {
    max-width: 51.6rem;
    padding: 0;
    width: 100%; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(ro) {
    max-width: 38.6rem;
    padding: 0;
    width: 100%; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(sl) {
    max-width: 49.2rem;
    padding: 0;
    width: 100%; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(sv) {
    max-width: 43.5rem;
    padding: 0;
    width: 100%; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(fr) {
    max-width: 38.5rem;
    padding: 0;
    width: 100%; } }

@media screen and (min-width: 100em) {
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(bg) {
    width: 31.3%;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(cs) {
    width: 25.3%;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(el) {
    width: 39.3%;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(es) {
    width: 38.3%;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(fi) {
    width: 49.9%;
    padding: 0; }
  .page-home .full-page-banner:not(.loader-block) .align-middle:lang(hu) {
    max-width: 50rem;
    padding: 0; } }

.page-home h2:before {
  border-color: #6E6E6D; }

.homepage-region-two {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .homepage-region-two {
      /* IE10+ specific styles go here */
      display: block; } }
  @media screen and (min-width: 75em) {
    .homepage-region-two {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  .homepage-region-two:before {
    margin-bottom: 1.5rem !important;
    border-color: #6E6E6D; }
  .homepage-region-two ul {
    margin: 0;
    list-style: none; }
    @media screen and (min-width: 48em) {
      .homepage-region-two ul {
        -webkit-column-count: 2;
                column-count: 2;
        -webkit-column-gap: 3rem;
                column-gap: 3rem; } }
    .homepage-region-two ul li {
      margin-bottom: 2rem; }
  .homepage-region-two img {
    width: 100%; }

.homepage-region-three {
  position: relative;
  height: 58vh !important; }
  .homepage-region-three.full-page-banner {
    padding-top: 0; }
    .homepage-region-three.full-page-banner .hero-background-image {
      opacity: 1;
      background-image: url("../../assets/img/homapage-image-3.jpg");
      background-color: #fefefe; }
  .homepage-region-three h2 {
    font-weight: normal;
    margin-bottom: 0;
    font-size: 26px;
    line-height: 1.6; }

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  /* IE10+ specific styles go here */
  .homepage-region-four {
    display: block; } }

.homepage-region-four {
  padding-top: 3rem; }
  .homepage-region-four .row {
    padding-bottom: 2.5rem; }
  .homepage-region-four .quote-left-side {
    padding-left: 0px; }
    @media screen and (min-width: 100em) {
      .homepage-region-four .quote-left-side {
        padding-right: 0.5rem; } }
  .homepage-region-four .quote-left-side p.pull-quote {
    border-left: 1rem solid #6E6E6D;
    font-size: 1.5rem;
    max-width: calc(100% - 56px); }
    @media screen and (min-width: 48em) {
      .homepage-region-four .quote-left-side p.pull-quote {
        max-width: calc(100% - 110px);
        padding-left: 4rem; } }
    @media screen and (min-width: 75em) {
      .homepage-region-four .quote-left-side p.pull-quote {
        margin-left: 0px;
        padding-left: 3rem; } }
  .homepage-region-four .quote-right-side h3 {
    padding-top: 2.5rem; }
    .homepage-region-four .quote-right-side h3:before {
      width: 3rem !important;
      border-color: #6E6E6D; }
  .homepage-region-four .quote-right-side h4 {
    color: #6E6E6D; }
    @media screen and (min-width: 75em) {
      .homepage-region-four .quote-right-side h4 {
        font-size: 1.25rem; } }

body {
  position: relative;
  overflow: hidden; }

.intro-copy {
  padding: 1em;
  margin: 50vh auto;
  max-width: 15em;
  font-family: Helvetica;
  font-weight: lighter;
  font-size: 2em;
  line-height: 1.2;
  text-align: center; }

.page-home .top-link-icon {
  background-color: #6E6E6D !important; }

.screen-reader-text {
  position: absolute;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  margin: -1px;
  border: 0;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  clip: rect(1px, 1px, 1px, 1px); }
  .screen-reader-text:focus {
    display: block;
    top: 5px;
    left: 5px;
    z-index: 100000;
    -webkit-clip-path: none;
            clip-path: none;
    background-color: #eee;
    padding: 15px 23px 14px;
    width: auto;
    height: auto;
    text-decoration: none;
    line-height: normal;
    color: #444;
    font-size: 1em;
    clip: auto !important; }

.inner-page .full-page-banner h2:before {
  display: none; }

.inner-page .main-content {
  padding-bottom: 1.5rem;
  overflow: auto; }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .inner-page .main-content {
      /* IE10+ specific styles go here */
      overflow: visible; }
      .inner-page .main-content .inner-page-region {
        display: block; } }
  .inner-page .main-content .inner-page-region:not(.region-background) {
    padding-top: 2rem;
    padding-bottom: 0.5rem; }
  .inner-page .main-content .inner-page-region.region-background h2:before {
    border-color: #fefefe; }
  .inner-page .main-content .inner-page-region.region-background a {
    color: #fefefe; }

@media screen and (min-width: 48em) {
  h2.icon-heading {
    padding-left: 110px; } }

h2.icon-heading:before {
  position: relative;
  width: 78px; }
  @media screen and (min-width: 48em) {
    h2.icon-heading:before {
      left: -110px; } }
  @media screen and (max-width: 47.9375em) {
    h2.icon-heading:before {
      margin-bottom: 120px; } }

h2.icon-heading:after {
  font-family: 'cvria-icons' !important;
  display: block;
  font-size: 96px;
  position: absolute;
  left: -8px;
  top: 18px;
  width: 96px;
  height: 96px; }

.icon-heading-macbook-img:after {
  content: '';
  background-image: url(../../assets/img/photos/macbook_site_web.jpg);
  background-size: 100%;
  background-repeat: no-repeat; }

.icon-heading-browser:after {
  content: '\e91f';
  font-weight: 100;
  -webkit-text-stroke: 0.009rem; }

.icon-heading-book-img:after {
  content: '';
  background-image: url(../../assets/img/photos/ra_judiciaire_2020.png);
  background-size: 100%;
  background-repeat: no-repeat; }

.icon-heading-access-doc:after {
  content: '\e917';
  -webkit-text-stroke: 0.009rem; }

.icon-heading-pin:after {
  content: '\e947';
  -webkit-text-stroke: 0.009rem;
  color: #fefefe; }

.icon-heading-browser-2:after {
  content: '\e924';
  color: #fefefe; }

.icon-heading-savoir:after {
  content: '\e92b';
  -webkit-text-stroke: 0.04rem;
  top: 1px !important; }

.graph-dates .graph-dates-img {
  width: 90px;
  height: auto;
  margin-right: 24px; }
  @media screen and (min-width: 48em) {
    .graph-dates .graph-dates-img {
      display: inline-block;
      vertical-align: top; } }
  .graph-dates .graph-dates-img img {
    width: 100%;
    height: 90px; }

@media screen and (min-width: 48em) {
  .graph-dates .graph-dates-txt {
    display: inline-block;
    width: calc(100% - 190px);
    top: -4px;
    position: relative;
    vertical-align: top; } }

.focus-title {
  clear: both;
  width: 100%;
  margin-top: 1rem; }

.focus-title div.columns:first-child {
  padding-left: 0;
  padding-bottom: 3rem;
  max-width: 12.5rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.7rem; }

.focus-title div.columns:first-child h3 {
  white-space: nowrap; }

.focus-title div.columns:first-child:lang(bg) {
  padding-right: 16rem; }

.focus-title div.columns:first-child:lang(et) {
  max-width: 16rem; }

.focus-title div.columns:first-child:lang(sk) {
  max-width: 17.5rem; }

.page-section-2 .andorra-logo {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.page-section-2 .andorra-logo .andorra-logo-svg {
  max-width: 12rem; }

.page-section-3 #region-4 h3 {
  color: #73485C; }

.page-404-error header,
.page-404-error footer {
  display: none; }

.page-404-error .full-page-banner {
  padding-top: 0; }
  .page-404-error .full-page-banner .share-block {
    display: none; }
  .page-404-error .full-page-banner h1 {
    font-size: 3rem; }
    @media screen and (min-width: 48em) {
      .page-404-error .full-page-banner h1 {
        font-size: 5.625rem; } }
    @media screen and (min-width: 75em) {
      .page-404-error .full-page-banner h1 {
        font-size: 6.5rem; } }

.page-404-error .skip-link {
  display: none; }

/*  @group Full width image */
.full-width-img {
  width: 100%;
  height: auto; }
  .full-width-img img {
    width: 100%; }

.full-width-img-no-paddings {
  width: 100%;
  height: auto;
  padding-left: 0 !important;
  padding-right: 0 !important; }
  .full-width-img-no-paddings.row.expanded, .full-width-img-no-paddings.row {
    padding-left: 0 !important;
    padding-right: 0 !important; }
  .full-width-img-no-paddings img {
    width: 100%; }

#footer:focus {
  outline: 1px solid #0a0a0a;
  outline: -webkit-focus-ring-color auto 1px; }

footer .row.expanded {
  padding-right: 33% !important; }
  @media screen and (min-width: 48em) {
    footer .row.expanded {
      padding-right: 11% !important; } }
  @media screen and (min-width: 75em) {
    footer .row.expanded {
      padding-right: 9% !important; } }

@media screen and (max-width: 74.9375em) {
  footer .row .columns {
    padding-left: 0 !important;
    padding-right: 0 !important; } }

footer {
  border-top: 8px solid #C8AE70;
  padding-top: 2rem;
  padding-bottom: 1.5rem; }
  @media screen and (max-width: 74.9375em) {
    footer .footer-logo {
      padding-bottom: 0.5rem; } }
  @media screen and (min-width: 75em) {
    footer .footer-logo {
      padding-left: 0; } }
  footer .footer-copyright {
    padding-top: 1rem;
    font-size: 0.875rem; }
    @media screen and (min-width: 75em) {
      footer .footer-copyright .footer-copyright-inner {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    @media screen and (max-width: 74.9375em) {
      footer .footer-copyright {
        padding-bottom: 1.25rem; } }
    footer .footer-copyright .tooltip-footer {
      position: relative;
      height: 1.6rem;
      width: -webkit-fit-content;
      width: fit-content;
      margin-top: 1rem; }
      @media screen and (min-width: 75em) {
        footer .footer-copyright .tooltip-footer {
          margin-top: 0;
          margin-left: 1rem;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      footer .footer-copyright .tooltip-footer a {
        white-space: nowrap;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
      footer .footer-copyright .tooltip-footer a:before {
        font-size: 24px;
        margin-right: 0.3rem;
        color: #6E6E6D;
        text-decoration: none; }
      footer .footer-copyright .tooltip-footer a:hover:before {
        color: #484847; }
      footer .footer-copyright .tooltip-footer a:after {
        content: '';
        border-top: 1px solid #0a0a0a;
        left: 1.8rem;
        right: 0;
        position: absolute;
        top: 1.2rem; }
      footer .footer-copyright .tooltip-footer a:hover:after {
        border-top: 1px solid #484847; }
      footer .footer-copyright .tooltip-footer a:not(:hover) {
        color: #0a0a0a; }
    footer .footer-copyright .tooltip-footer .tooltip {
      bottom: 2.6rem;
      height: auto;
      top: auto;
      left: 0;
      margin-left: 0;
      max-width: none;
      z-index: 3;
      width: 370px; }
      @media only screen and (max-width: 420px) {
        footer .footer-copyright .tooltip-footer .tooltip {
          width: 270px; } }
      @media screen and (min-width: 48em) {
        footer .footer-copyright .tooltip-footer .tooltip {
          width: 420px; } }
      @media screen and (min-width: 75em) {
        footer .footer-copyright .tooltip-footer .tooltip {
          margin-left: -210px;
          left: 50%; } }
      footer .footer-copyright .tooltip-footer .tooltip:not(.tooltip-open) {
        display: none; }
      footer .footer-copyright .tooltip-footer .tooltip.tooltip-open {
        display: block; }
  @media screen and (max-width: 74.9375em) {
    footer .footer-social {
      padding-bottom: 1.5rem; } }
  @media screen and (min-width: 75em) {
    footer .footer-social {
      padding-right: 0; } }
  @media screen and (min-width: 75em) {
    footer .footer-social ul.menu {
      float: right;
      padding-right: 0; } }
  footer .footer-social ul.menu li a {
    padding: 0;
    text-align: right;
    margin-right: 0.25rem; }
    @media screen and (min-width: 48em) {
      footer .footer-social ul.menu li a {
        margin-top: 1rem; } }
    @media screen and (min-width: 100em) {
      footer .footer-social ul.menu li a {
        margin-right: 0.5rem; } }
  footer .footer-social ul.menu li a:hover {
    color: #484847; }
  footer .footer-social ul.menu li:last-child a {
    margin-right: 0; }
  footer .footer-social ul.menu li a:before {
    font-size: 1.5rem; }

.hide-header header {
  top: -180px; }

.hide-header .full-page-banner {
  padding-top: 0; }

header {
  transition: all 0.3s 0s ease;
  top: 0;
  position: fixed;
  z-index: 102;
  background: #fefefe;
  width: 100%;
  box-shadow: 0px 6px 19px 0px rgba(10, 10, 10, 0.15);
  padding-top: 1rem !important; }
  @media screen and (max-width: 74.9375em) {
    header:before {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 2rem;
      right: 2rem;
      height: 3px;
      background: #C8AE70; } }
  @media screen and (max-width: 47.9375em) {
    header:before {
      left: 1.5rem;
      right: 1.5rem; } }
  @media screen and (min-width: 48em) {
    header {
      padding-top: 1.5rem !important; } }
  @media screen and (min-width: 100em) {
    header {
      padding-top: 2rem !important; } }
  header .dropdown.menu > li.is-dropdown-submenu-parent > a:hover {
    color: #484847; }
  header .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
    font-size: 1.5rem;
    border: none;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    transition: all 0.3s 0s ease; }
  header .dropdown.menu > li.is-dropdown-submenu-parent > a:hover:after {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  header .dropdown.menu > li.is-dropdown-submenu-parent.is-active > a:after {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  header .dropdown.menu > li.is-dropdown-submenu-parent ul {
    box-shadow: 0px 6px 19px 0px rgba(10, 10, 10, 0.15);
    border: 1px solid #E3E3E3; }
    header .dropdown.menu > li.is-dropdown-submenu-parent ul li a {
      border-bottom: 1px solid #C8AE70;
      padding: 1.5rem;
      text-align: left; }
    header .dropdown.menu > li.is-dropdown-submenu-parent ul li a:hover {
      background: #0a0a0a;
      color: #C8AE70; }
  @media screen and (min-width: 75em) {
    header .header-logo,
    header .header-menu ul.menu li {
      position: relative; }
      header .header-logo:before,
      header .header-menu ul.menu li:before {
        content: '';
        border-bottom: 6px solid #C8AE70;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0; } }
  header .header-logo {
    width: 210px;
    padding-bottom: 1.5rem; }
    header .header-logo .header-logo-svg {
      height: 48px; }
    @media only screen and (max-width: 394px) {
      header .header-logo {
        width: 120px; }
        header .header-logo .header-logo-svg {
          display: none; }
        header .header-logo .header-logo-symbol-svg {
          width: 2.5rem; } }
    @media only screen and (min-width: 395px) {
      header .header-logo .header-logo-symbol-svg {
        display: none; } }
    @media screen and (max-width: 47.9375em) {
      header .header-logo {
        padding-bottom: 0.875rem; } }
    @media screen and (min-width: 48em) {
      header .header-logo {
        width: 263px;
        padding-bottom: 2rem; } }
    @media screen and (min-width: 75em) {
      header .header-logo {
        width: 200px; } }
    @media screen and (min-width: 85.375em) {
      header .header-logo {
        width: 267px;
        padding-bottom: 3rem; } }
  header .header-menu {
    width: calc(100% - 360px); }
    @media screen and (min-width: 75em) {
      header .header-menu {
        width: calc(100% - 292px); } }
    @media screen and (min-width: 85.375em) {
      header .header-menu {
        width: calc(100% - 360px); } }
  @media screen and (min-width: 75em) {
    header .header-menu div.is-drilldown {
      display: none; } }
  @media screen and (min-width: 75em) {
    header .header-menu .menu li {
      padding-right: 2%; } }
  @media screen and (min-width: 85.375em) {
    header .header-menu .menu li {
      padding-right: 2%; } }
  header .header-menu .menu li:not(.is-submenu-item) > a:hover {
    color: #484847; }
  header .header-menu .menu li.active a {
    background: none;
    color: black; }
  header .header-menu .menu li.active ul li a {
    color: #6E6E6D; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    header .header-menu .menu li.active a {
      color: #6E6E6D; } }
  @media screen and (min-width: 75em) {
    header .header-menu .menu li:first-child {
      padding-left: 4.5%; } }
  @media screen and (min-width: 85.375em) {
    header .header-menu .menu li:first-child {
      padding-left: 5%; } }
  header .header-menu .menu li:last-child {
    padding-right: 0; }
  header .header-menu .menu li a {
    line-height: 1rem;
    font-weight: bold; }
    @media screen and (min-width: 75em) {
      header .header-menu .menu li a {
        font-size: 12px;
        margin: 0;
        padding: 0;
        padding-bottom: 1.5rem;
        max-width: calc(144px - 19px);
        min-height: 95px; } }
    @media screen and (min-width: 85.375em) {
      header .header-menu .menu li a {
        font-size: 0.8125rem;
        max-width: calc(171px - 28px); } }
    @media screen and (min-width: 100em) {
      header .header-menu .menu li a {
        max-width: calc(240px - 30px);
        font-size: 0.875rem;
        padding-bottom: 3rem; } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(en) {
      padding-bottom: 4rem; } }
  header .header-menu > .menu > li:nth-child(2) > a:lang(fr) {
    max-width: calc(120px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(fr) {
        max-width: calc(140px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(fr) {
        max-width: calc(132px - 30px); } }
  header .header-menu > .menu > li:nth-child(3) > a:lang(fr) {
    max-width: calc(230px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(fr) {
        max-width: calc(240px - 30px); } }
    @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(fr) {
        min-height: 96px; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(fr) {
        max-width: calc(280px - 30px); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(fr) {
    max-width: calc(130px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(fr) {
        max-width: calc(140px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(fr) {
        max-width: calc(148px - 30px); } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(fr) {
    max-width: calc(130px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(fr) {
        max-width: calc(140px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(fr) {
        max-width: calc(140px - 30px); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(fr) {
      max-width: calc(100px - 30px); } }
  header .header-menu > .menu > li:nth-child(1) > a:lang(es) {
    max-width: calc(130px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(es) {
        max-width: calc(140px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(es) {
        max-width: calc(160px - 30px); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(es) {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(es) {
      padding-bottom: 4rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(es) {
      max-width: calc(140px - 30px); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(es) {
      max-width: calc(160px - 30px); } }
  header .header-menu > .menu > li:nth-child(1) > a:lang(pt) {
    max-width: calc(140px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(pt) {
        max-width: calc(140px - 30px);
        padding-bottom: 4rem; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(pt) {
        max-width: calc(160px - 30px); } }
  header .header-menu > .menu > li:nth-child(2) > a:lang(pt) {
    max-width: calc(125px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(pt) {
        max-width: calc(140px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(pt) {
        max-width: calc(150px - 30px); } }
  header .header-menu > .menu > li:nth-child(3) > a:lang(pt) {
    max-width: calc(210px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(pt) {
        max-width: calc(270px - 30px); } }
    @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(pt) {
        padding-bottom: 48px; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(pt) {
        max-width: calc(290px - 30px); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(pt) {
    max-width: calc(130px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(pt) {
        max-width: calc(150px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(pt) {
        max-width: calc(220px - 30px); } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(pt) {
    max-width: calc(110px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(pt) {
        max-width: calc(130px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(pt) {
        max-width: calc(150px - 30px); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(pt) {
    max-width: calc(110px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(pt) {
        max-width: calc(130px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(pt) {
        max-width: calc(160px - 30px); } }
  header .header-menu > .menu > li:nth-child(1) > a:lang(de) {
    max-width: calc(120px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(de) {
        max-width: calc(120px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(de) {
        max-width: calc(160px - 30px); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(de) {
      max-width: calc(220px - 30px); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(de) {
      max-width: calc(220px - 30px); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(de) {
      max-width: calc(200px - 30px); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(de) {
      max-width: calc(220px - 30px);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(de) {
      max-width: calc(280px - 30px); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(de) {
    max-width: calc(140px - 30px); }
    @media screen and (min-width: 75em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(de) {
        max-width: calc(135px - 30px); } }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(de) {
        max-width: calc(175px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(de) {
        max-width: calc(190px - 30px); } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(de) {
    max-width: calc(110px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(de) {
        max-width: calc(108px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(de) {
        max-width: calc(120px - 30px); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(de) {
    max-width: calc(110px - 30px); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(de) {
        max-width: calc(120px - 30px); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(de) {
        max-width: calc(125px - 30px); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(nl) {
      max-width: calc(124px - 30px); } }
  header .header-menu > .menu > li:nth-child(2) > a:lang(nl) {
    max-width: calc(150px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(nl) {
        max-width: calc(160px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(nl) {
        max-width: calc(180px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(3) > a:lang(nl) {
    max-width: calc(210px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(nl) {
        max-width: calc(240px - 1.875rem);
        padding-bottom: 4rem; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(nl) {
        max-width: calc(19.375rem - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(nl) {
    max-width: calc(140px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(nl) {
        max-width: calc(160px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(nl) {
        max-width: calc(190px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(nl) {
      max-width: calc(110px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(et) {
      max-width: calc(160px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(2) > a:lang(et) {
    max-width: calc(190px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(et) {
        max-width: calc(200px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(et) {
        max-width: calc(210px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(3) > a:lang(et) {
    max-width: calc(150px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(et) {
        max-width: calc(190px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(et) {
        max-width: calc(240px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(et) {
    max-width: calc(110px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(et) {
        max-width: calc(120px - 1.875rem);
        padding-bottom: 3rem; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(et) {
        max-width: calc(190px - 1.875rem);
        padding-bottom: 4rem; } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(et) {
    max-width: calc(140px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(et) {
        max-width: calc(160px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(et) {
        max-width: calc(110px - 30px); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(et) {
    max-width: calc(140px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(et) {
        max-width: calc(160px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(et) {
        max-width: calc(110px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(ga) {
      max-width: calc(140px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(2) > a:lang(ga) {
    max-width: calc(140px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(ga) {
        max-width: calc(130px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(ga) {
        max-width: calc(150px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(3) > a:lang(ga) {
    max-width: calc(210px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(ga) {
        max-width: calc(190px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(ga) {
        max-width: calc(240px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(ga) {
    max-width: calc(150px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(ga) {
        max-width: calc(180px - 1.875rem);
        padding-bottom: 3rem; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(ga) {
        max-width: calc(190px - 1.875rem);
        padding-bottom: 4rem; } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(ga) {
    max-width: calc(140px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(ga) {
        max-width: calc(180px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(ga) {
        max-width: calc(150px - 30px); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(ga) {
    max-width: calc(130px - 1.875rem); }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(hr) {
      max-width: calc(124px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(hr) {
      max-width: calc(124px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(hr) {
      max-width: calc(140px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(hr) {
      max-width: calc(224px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(hr) {
      max-width: calc(220px - 1.875rem);
      padding-bottom: 5rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(hr) {
      max-width: calc(270px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(hr) {
    max-width: calc(140px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(hr) {
        max-width: calc(140px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(hr) {
        max-width: calc(160px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(hr) {
    max-width: calc(140px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(hr) {
        max-width: calc(130px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(hr) {
        max-width: calc(160px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(hr) {
    max-width: calc(140px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(hr) {
        max-width: calc(160px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(hr) {
        max-width: calc(110px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(1) > a:lang(bg) {
    max-width: calc(100px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(bg) {
        max-width: calc(140px - 1.875rem);
        padding-bottom: 5rem; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(bg) {
        max-width: calc(160px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(2) > a:lang(bg) {
    max-width: calc(196px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(bg) {
        max-width: calc(210px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(bg) {
        max-width: calc(220px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(bg) {
      max-width: calc(220px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(bg) {
      max-width: calc(220px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(bg) {
    max-width: calc(110px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(bg) {
        max-width: calc(180px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(bg) {
        max-width: calc(220px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(bg) {
    max-width: calc(110px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(bg) {
        max-width: calc(100px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(bg) {
        max-width: calc(120px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(bg) {
    max-width: calc(120px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(bg) {
        max-width: calc(100px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(bg) {
        max-width: calc(134px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(1) > a:lang(cs) {
    max-width: calc(135px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(cs) {
        max-width: calc(140px - 1.875rem);
        padding-bottom: 4rem !important; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(cs) {
        max-width: calc(150px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(1) > a:lang(da) {
    max-width: calc(150px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(da) {
        max-width: calc(160px - 1.875rem);
        padding-bottom: 5rem !important; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(da) {
        max-width: calc(180px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(da) {
    max-width: calc(135px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(da) {
        max-width: calc(140px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(da) {
        max-width: calc(130px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(1) > a:lang(el) {
    max-width: calc(125px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(el) {
        max-width: calc(130px - 1.875rem);
        padding-bottom: 4rem !important; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(el) {
        max-width: calc(160px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(2) > a:lang(el) {
    max-width: calc(155px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(el) {
        max-width: calc(165px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(el) {
        max-width: calc(180px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(3) > a:lang(el) {
    max-width: calc(235px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(el) {
        max-width: calc(240px - 1.875rem); } }
    @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(el) {
        padding-bottom: 35px; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(el) {
        max-width: calc(260px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(el) {
    max-width: calc(110px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(el) {
        max-width: calc(170px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(el) {
        max-width: calc(220px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(el) {
    max-width: calc(120px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(el) {
        max-width: calc(123px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(el) {
        max-width: calc(130px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(el) {
    max-width: calc(120px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(el) {
        max-width: calc(130px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(el) {
        max-width: calc(140px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(1) > a:lang(hu) {
    max-width: calc(135px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(hu) {
        max-width: calc(140px - 1.875rem);
        padding-bottom: 4rem; } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(1) > a:lang(hu) {
        max-width: calc(150px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(2) > a:lang(hu) {
    max-width: calc(195px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(hu) {
        max-width: calc(190px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(2) > a:lang(hu) {
        max-width: calc(220px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(3) > a:lang(hu) {
    max-width: calc(205px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(hu) {
        max-width: calc(260px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(3) > a:lang(hu) {
        max-width: calc(260px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(4) > a:lang(hu) {
    max-width: calc(145px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(hu) {
        max-width: calc(170px - 1.875rem); } }
    @media screen and (min-width: 100em) {
      header .header-menu > .menu > li:nth-child(4) > a:lang(hu) {
        max-width: calc(180px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(hu) {
    max-width: calc(95px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(hu) {
        max-width: calc(100px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(hu) {
    max-width: calc(90px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(hu) {
        max-width: calc(100px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(it) {
      max-width: calc(130px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(it) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(it) {
      max-width: calc(220px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(it) {
      max-width: calc(220px - 1.875rem);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(it) {
      max-width: calc(285px - 1.875rem);
      padding-bottom: 5rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(it) {
      max-width: calc(220px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(5) > a:lang(it) {
    max-width: calc(100px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(5) > a:lang(it) {
        max-width: calc(110px - 1.875rem); } }
  header .header-menu > .menu > li:nth-child(6) > a:lang(it) {
    max-width: calc(97px - 1.875rem); }
    @media screen and (min-width: 85.375em) {
      header .header-menu > .menu > li:nth-child(6) > a:lang(it) {
        max-width: calc(97px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(lt) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(lt) {
      max-width: calc(185px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(lt) {
      max-width: calc(185px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(lt) {
      max-width: calc(185px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(lt) {
      max-width: calc(255px - 1.875rem);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(lt) {
      max-width: calc(255px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(lt) {
      max-width: calc(155px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(lt) {
      max-width: calc(105px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(lt) {
      max-width: calc(105px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(lv) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(lv) {
      max-width: calc(185px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(lv) {
      max-width: calc(125px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(lv) {
      max-width: calc(135px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(lv) {
      max-width: calc(245px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(lv) {
      max-width: calc(235px - 1.875rem);
      padding-bottom: 5rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(lv) {
      max-width: calc(305px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(lv) {
      max-width: calc(145px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(lv) {
      max-width: calc(85px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(lv) {
      max-width: calc(95px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(mt) {
      max-width: calc(135px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(mt) {
      max-width: calc(175px - 1.875rem);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(mt) {
      max-width: calc(180px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(mt) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(mt) {
      max-width: calc(130px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(mt) {
      max-width: calc(250px - 1.875rem);
      padding-bottom: 32px; } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(mt) {
      max-width: calc(270px - 1.875rem);
      padding-bottom: 32px; } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(mt) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(mt) {
      max-width: calc(170px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(mt) {
      max-width: calc(178px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(mt) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(mt) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(mt) {
      max-width: calc(90px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(mt) {
      max-width: calc(90px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(pl) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(pl) {
      max-width: calc(140px - 1.875rem);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(pl) {
      max-width: calc(130px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(pl) {
      max-width: calc(140px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(pl) {
      max-width: calc(200px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(pl) {
      max-width: calc(265px - 1.875rem);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(pl) {
      max-width: calc(155px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(pl) {
      max-width: calc(165px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(pl) {
      max-width: calc(180px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(pl) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(pl) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(pl) {
      max-width: calc(135px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(pl) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(ro) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(ro) {
      max-width: calc(125px - 1.875rem);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(ro) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(ro) {
      max-width: calc(125px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(ro) {
      max-width: calc(220px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(ro) {
      max-width: calc(225px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(ro) {
      max-width: calc(325px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(ro) {
      max-width: calc(90px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(ro) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(ro) {
      max-width: calc(90px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(ro) {
      max-width: calc(100px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(sk) {
      max-width: calc(135px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(sk) {
      max-width: calc(125px - 1.875rem);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sk) {
      max-width: calc(215px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sk) {
      padding-bottom: 50px; } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sk) {
      max-width: calc(275px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sk) {
      max-width: calc(295px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(sk) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(sk) {
      max-width: calc(185px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(sk) {
      max-width: calc(110px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(sk) {
      max-width: calc(105px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(sk) {
      max-width: calc(185px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(sk) {
      max-width: calc(95px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(sl) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(sl) {
      padding-bottom: 5rem; } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(sl) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sl) {
      max-width: calc(235px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sl) {
      max-width: calc(240px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sl) {
      padding-bottom: 32px; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sl) {
      max-width: calc(330px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(sl) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(sl) {
      max-width: calc(170px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(sl) {
      max-width: calc(180px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(sl) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(sl) {
      max-width: calc(105px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(sl) {
      max-width: calc(110px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(sl) {
      max-width: calc(115px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(sl) {
      max-width: calc(100px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(sv) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(sv) {
      max-width: calc(135px - 1.875rem);
      padding-bottom: 4rem; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(sv) {
      max-width: calc(145px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(sv) {
      max-width: calc(145px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(sv) {
      max-width: calc(155px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sv) {
      max-width: calc(225px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sv) {
      max-width: calc(245px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(sv) {
      max-width: calc(255px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(sv) {
      max-width: calc(145px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(sv) {
      max-width: calc(155px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(sv) {
      max-width: calc(145px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(sv) {
      max-width: calc(144px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(sv) {
      max-width: calc(105px - 1.875rem); } }
  @media screen and (min-width: 85.375em) and (max-width: 99.9375em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(sv) {
      max-width: calc(114px - 1.875rem);
      padding-bottom: 65px; } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(fi) {
      max-width: calc(120px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(fi) {
      max-width: calc(125px - 1.875rem);
      padding-bottom: 4rem !important; } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(1) > a:lang(fi) {
      max-width: calc(130px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(2) > a:lang(fi) {
      max-width: calc(190px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(fi) {
      max-width: calc(250px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(fi) {
      max-width: calc(235px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(3) > a:lang(fi) {
      max-width: calc(280px - 1.875rem); } }
  @media screen and (min-width: 75em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(fi) {
      max-width: calc(160px - 1.875rem); } }
  @media screen and (min-width: 85.375em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(fi) {
      max-width: calc(175px - 1.875rem); } }
  @media screen and (min-width: 100em) {
    header .header-menu > .menu > li:nth-child(4) > a:lang(fi) {
      max-width: calc(190px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(5) > a:lang(fi) {
      max-width: calc(85px - 1.875rem); } }
  @media screen and (min-width: 75em) and (max-width: 85.3125em) {
    header .header-menu > .menu > li:nth-child(6) > a:lang(fi) {
      max-width: calc(85px - 1.875rem); } }
  header .header-menu .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
    margin-top: 0;
    top: -3px;
    right: 1.25rem;
    right: -4px; }
  header .header-menu .dropdown.menu > li.is-dropdown-submenu-parent ul {
    margin-top: -36px;
    min-width: 245px;
    max-width: 400px;
    padding-top: 0;
    padding-bottom: 0; }
    header .header-menu .dropdown.menu > li.is-dropdown-submenu-parent ul li {
      padding-left: 0;
      padding-right: 0; }
    header .header-menu .dropdown.menu > li.is-dropdown-submenu-parent ul li a {
      max-width: none;
      min-height: auto;
      margin-right: 0; }
  header .header-menu > ul.menu > li ul li:before {
    display: none; }
  header .header-language-selector {
    width: calc(100% - 266px); }
    @media only screen and (max-width: 394px) {
      header .header-language-selector {
        width: calc(100% - 176px); } }
    @media screen and (min-width: 48em) {
      header .header-language-selector {
        width: calc(100% - 314px); } }
    @media screen and (min-width: 75em) {
      header .header-language-selector {
        width: 92px; } }
    header .header-language-selector ul.dropdown.menu.lang-selector {
      float: right; }
      @media screen and (min-width: 48em) {
        header .header-language-selector ul.dropdown.menu.lang-selector {
          margin-right: 0.75rem; } }
    header .header-language-selector .dropdown.menu > li.is-dropdown-submenu-parent ul {
      min-width: 140px;
      margin-top: 1.25rem;
      height: 280px;
      overflow: hidden;
      overflow-y: scroll;
      right: 0;
      left: auto; }
    header .header-language-selector ul > li.is-dropdown-submenu-parent.opens-right > a,
    header .header-language-selector .dropdown.menu > li.is-dropdown-submenu-parent > a {
      font-weight: bold;
      border: 2px solid #C8AE70;
      padding: 0.625rem 2rem 0.625rem 0.875rem !important;
      border-radius: 2.5rem; }
      @media screen and (min-width: 48em) and (max-width: 74.9375em) {
        header .header-language-selector ul > li.is-dropdown-submenu-parent.opens-right > a,
        header .header-language-selector .dropdown.menu > li.is-dropdown-submenu-parent > a {
          margin-top: 0.5rem !important; } }
      @media screen and (min-width: 75em) {
        header .header-language-selector ul > li.is-dropdown-submenu-parent.opens-right > a,
        header .header-language-selector .dropdown.menu > li.is-dropdown-submenu-parent > a {
          padding: 1.25rem 3rem 1.25rem 1.25rem !important; } }
      header .header-language-selector ul > li.is-dropdown-submenu-parent.opens-right > a:after,
      header .header-language-selector .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
        top: 0.625rem;
        right: 0.625rem !important; }
        @media screen and (min-width: 75em) {
          header .header-language-selector ul > li.is-dropdown-submenu-parent.opens-right > a:after,
          header .header-language-selector .dropdown.menu > li.is-dropdown-submenu-parent > a:after {
            top: 1.25rem;
            right: 1rem !important; } }
      header .header-language-selector ul > li.is-dropdown-submenu-parent.opens-right > a:hover:after,
      header .header-language-selector .dropdown.menu > li.is-dropdown-submenu-parent > a:hover:after {
        top: 0.625rem;
        right: 0.625rem !important; }
        @media screen and (min-width: 75em) {
          header .header-language-selector ul > li.is-dropdown-submenu-parent.opens-right > a:hover:after,
          header .header-language-selector .dropdown.menu > li.is-dropdown-submenu-parent > a:hover:after {
            top: 1.25rem;
            right: 1rem !important; } }

@media screen and (max-width: 85.3125em) {
  header .header-menu-mobile .title-bar button.menu-icon {
    width: 2.5rem;
    height: 2.5rem;
    margin-top: -8px; } }

@media screen and (max-width: 85.3125em) {
  header .header-menu-mobile .title-bar {
    padding-right: 0;
    background: none;
    color: #6E6E6D; }
  header .header-menu-mobile .title-bar button.menu-icon:before {
    font-size: 1.5rem;
    color: #6E6E6D; }
  header .header-menu-mobile .title-bar button.menu-icon:after {
    display: none; }
  header .header-menu-mobile .title-bar-title {
    margin-top: 6px; } }

@media screen and (max-width: 85.3125em) {
  header .header-menu-mobile .title-bar .title-bar-title {
    font-size: 0; } }

@media screen and (min-width: 48em) {
  header .header-menu-mobile .title-bar {
    width: 50px;
    margin-top: 5px;
    padding-bottom: 1rem; } }

@media screen and (max-width: 85.3125em) {
  body .header-menu-mobile #mobile-menu-ul {
    display: none !important; } }

@media screen and (max-width: 85.3125em) {
  body.expand-mobile-menu {
    overflow: hidden; } }

@media screen and (min-width: 48em) and (max-width: 74.9375em) {
  body.expand-mobile-menu .header:before {
    content: '';
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    background: black;
    opacity: 0.6; }
  body.expand-mobile-menu .header:after {
    content: '\e90f';
    position: absolute;
    font-family: 'cvria-icons' !important;
    right: 2rem;
    top: 2rem;
    font-size: 1.5rem;
    color: #6E6E6D; } }

@media screen and (min-width: 48em) {
  body.expand-mobile-menu .header-menu-mobile {
    max-width: 70%; } }

@media screen and (max-width: 85.3125em) {
  body.expand-mobile-menu .header-menu-mobile {
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fefefe; }
    body.expand-mobile-menu .header-menu-mobile .title-bar .title-bar-title {
      display: none; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul {
      display: block !important;
      margin-top: 4rem; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul .is-drilldown {
      max-width: none !important; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a {
      border-bottom: 1px solid #C8AE70;
      padding-top: 24px;
      padding-bottom: 24px;
      padding-left: 2rem;
      padding-right: 3.5rem;
      font-size: 0.9375rem;
      font-weight: bold;
      position: relative; }
      body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a:before {
        content: '';
        display: block;
        width: 0.5rem;
        height: 100%;
        position: absolute;
        z-index: 99;
        left: 0;
        top: 0; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li.is-drilldown-submenu-parent a:after {
      color: #6E6E6D;
      border: none;
      font-size: 1.5rem;
      content: '\e90b';
      font-family: 'cvria-icons' !important;
      position: absolute;
      right: 2rem;
      top: 50%;
      margin-top: -12px;
      font-weight: normal; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li.is-drilldown-submenu-parent ul li a:after {
      display: none; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a:hover {
      background: #0a0a0a;
      color: #C8AE70; }
      body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a:hover:before {
        background: #C8AE70;
        border: none; }
      body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a:hover:after {
        color: #C8AE70; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a:focus-visible {
      left: 37px;
      width: calc(100% - 74px); }
      body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a:focus-visible:before {
        background: #C8AE70; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a:focus:hover:before {
      background: none;
      border: none; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li a:focus:before {
      background: none;
      border: none; }
    body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li ul li.js-drilldown-back a {
      padding-left: 3.5rem; }
      body.expand-mobile-menu .header-menu-mobile #mobile-menu-ul ul li ul li.js-drilldown-back a:after {
        content: '\e90a';
        top: 50%;
        margin-top: -12px;
        font-weight: normal;
        left: 1.5rem;
        right: auto;
        display: block; }
    body.expand-mobile-menu .header-menu-mobile .title-bar button.menu-icon {
      display: inline-block;
      width: 2.5rem;
      height: 2.5rem;
      position: absolute;
      z-index: 99; }
    body.expand-mobile-menu .header-menu-mobile .title-bar button.menu-icon:before {
      content: '\e910';
      font-size: 2rem; } }

body.expand-mobile-menu .header-menu-mobile .title-bar button.menu-icon {
  right: 1rem;
  top: 1rem; }
  @media screen and (min-width: 48em) {
    body.expand-mobile-menu .header-menu-mobile .title-bar button.menu-icon {
      right: 2rem;
      top: 2rem; } }

@media only screen and (max-height: 768px) {
  body.expand-mobile-menu .header-menu-mobile .docs-code-live {
    height: 100vh;
    overflow-y: scroll; } }

@media screen and (max-width: 74.9375em) {
  button#mobile-burger-menu {
    margin-top: 0; }
  button#mobile-burger-menu span.show-for-sr {
    font-size: 20px;
    position: relative !important;
    margin-top: 0; } }

.full-page-banner {
  transition: all 0.3s 0s ease;
  position: relative;
  height: 100vh;
  overflow: hidden;
  background-color: #C8AE70;
  padding-top: 4.5rem; }
  .full-page-banner .hero-background-image {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    opacity: 0.2; }
  @media screen and (min-width: 48em) {
    .full-page-banner {
      padding-top: 100px; } }
  @media screen and (min-width: 75em) {
    .full-page-banner {
      padding-top: 118px; } }
  @media screen and (min-width: 100em) {
    .full-page-banner {
      padding-top: 8rem; } }
  .full-page-banner h1 {
    text-transform: uppercase; }
  .full-page-banner .go-down a {
    display: inline-block;
    position: absolute;
    z-index: 100; }
  .full-page-banner .go-down a:focus-visible {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); }
  .full-page-banner .align-middle {
    margin-top: 2rem; }
    @media screen and (max-width: 47.9375em) {
      .full-page-banner .align-middle {
        word-break: break-word; } }

@media screen and (max-width: 74.9375em) {
  .full-page-banner:not(.loader-block) .align-middle {
    width: 95%; } }

.page-home .full-page-banner h1 {
  font-size: 3rem; }
  @media screen and (min-width: 48em) {
    .page-home .full-page-banner h1 {
      font-size: 5.625rem; } }
  @media screen and (min-width: 75em) {
    .page-home .full-page-banner h1 {
      font-size: 6.5rem; } }

.page-home .full-page-banner .go-down a {
  text-align: center;
  bottom: 2rem;
  left: 50%;
  margin-left: -25px;
  height: 50px;
  width: 50px;
  border-radius: 2rem;
  background: #fefefe; }
  @supports (-webkit-touch-callout: none) {
    .page-home .full-page-banner .go-down a {
      /* CSS specific to iOS devices */ }
      @media screen and (max-width: 47.9375em) {
        .page-home .full-page-banner .go-down a {
          bottom: 5.625rem; } } }
  .page-home .full-page-banner .go-down a:hover {
    background: black;
    color: #C8AE70; }
  .page-home .full-page-banner .go-down a:focus-visible {
    box-shadow: 2px 5px 9px 0px rgba(10, 10, 10, 0.45);
    border: 2px solid #0a0a0a;
    border-radius: 2rem;
    outline: none;
    height: 54px;
    width: 54px;
    color: #0a0a0a; }
  .page-home .full-page-banner .go-down a:after {
    font-size: 3rem;
    position: absolute;
    top: 1px;
    left: 1px; }

.inner-page .full-page-banner {
  padding-bottom: 3rem; }

@-moz-document url-prefix() {
  .inner-page .full-page-banner .align-middle {
    width: 100%; } }
  @media only screen and (max-height: 670px) {
    .inner-page .full-page-banner {
      padding-bottom: 1.5rem; } }
  .inner-page .full-page-banner:before, .inner-page .full-page-banner:after {
    position: absolute;
    content: ''; }
  .inner-page .full-page-banner:before {
    height: 2.5rem;
    z-index: 99;
    bottom: 1.25rem;
    right: 50%;
    margin-right: -6px; }
    @media screen and (min-width: 75em) {
      .inner-page .full-page-banner:before {
        right: 1.5rem;
        margin-right: auto; } }
    @media only screen and (max-height: 670px) {
      .inner-page .full-page-banner:before {
        bottom: 0.75rem;
        height: 1rem;
        margin-right: 0px;
        right: 50%; } }
  .inner-page .full-page-banner:after {
    bottom: 0;
    left: 0;
    z-index: 1;
    background: white;
    height: 3rem;
    width: 100%; }
    @media only screen and (max-height: 670px) {
      .inner-page .full-page-banner:after {
        height: 1.5rem; } }
  .inner-page .full-page-banner .icon-font:before {
    font-size: 5rem;
    margin: auto;
    display: block;
    padding-bottom: 1rem; }
    @media screen and (min-width: 75em) {
      .inner-page .full-page-banner .icon-font:before {
        font-size: 10rem; } }
    @media only screen and (max-height: 670px) {
      .inner-page .full-page-banner .icon-font:before {
        font-size: 3rem;
        padding-bottom: 0;
        line-height: 1rem; } }
    @media only screen and (max-height: 520px) {
      .inner-page .full-page-banner .icon-font:before {
        font-size: 2rem;
        line-height: 0.5rem; } }
  .inner-page .full-page-banner .icon-font,
  .inner-page .full-page-banner h1,
  .inner-page .full-page-banner h2 {
    color: #fefefe;
    text-align: center; }
  @media screen and (max-width: 74.9375em) {
    .inner-page .full-page-banner h1 {
      font-size: 1.5rem; } }
  @media only screen and (max-height: 670px) {
    .inner-page .full-page-banner h1 {
      font-size: 1.25rem; }
      .inner-page .full-page-banner h1:before {
        width: 3.5rem !important;
        margin-bottom: 1rem !important;
        border-width: 2px !important; } }
  @media only screen and (max-height: 520px) {
    .inner-page .full-page-banner h1 {
      font-size: 1rem; }
      .inner-page .full-page-banner h1:before {
        width: 3rem !important;
        margin-bottom: 0.5rem !important;
        border-width: 1px !important; } }
  @media screen and (max-width: 74.9375em) {
    .inner-page .full-page-banner h2 {
      font-size: 1.25rem;
      line-height: 28px; } }
  @media only screen and (max-height: 670px) {
    .inner-page .full-page-banner h2 {
      font-size: 1rem;
      line-height: 1.5rem; } }
  @media only screen and (max-height: 520px) {
    .inner-page .full-page-banner h2 {
      font-size: 12px;
      line-height: 1.25rem; } }
  .inner-page .full-page-banner h1:before {
    border-color: #fefefe;
    margin: auto;
    margin-bottom: 1.5rem;
    border-width: 0.125rem;
    width: 8rem; }
    @media screen and (min-width: 75em) {
      .inner-page .full-page-banner h1:before {
        border-width: 0.25rem;
        width: 11.25rem; } }
  .inner-page .full-page-banner .go-down a {
    bottom: 0;
    z-index: 99;
    color: #fefefe;
    right: 50%;
    margin-right: -30px; }
    @media screen and (min-width: 75em) {
      .inner-page .full-page-banner .go-down a {
        right: 0;
        margin-right: auto; } }
    @media only screen and (max-height: 670px) {
      .inner-page .full-page-banner .go-down a {
        right: auto;
        left: 50%; } }
    .inner-page .full-page-banner .go-down a img {
      position: relative;
      bottom: -68px;
      right: -43px;
      display: none; }
      @media screen and (min-width: 75em) {
        .inner-page .full-page-banner .go-down a img {
          display: block; } }
      @media only screen and (max-height: 670px) {
        .inner-page .full-page-banner .go-down a img {
          display: none; } }
    .inner-page .full-page-banner .go-down a div {
      -webkit-transform: rotate(270deg);
          -ms-transform: rotate(270deg);
              transform: rotate(270deg);
      margin-bottom: 188px;
      font-weight: bold;
      margin-right: -28px;
      font-size: 0;
      visibility: hidden; }
      @media screen and (min-width: 75em) {
        .inner-page .full-page-banner .go-down a div {
          font-size: 22px; } }
      @media only screen and (max-height: 670px) {
        .inner-page .full-page-banner .go-down a div {
          font-size: 0; } }
    .inner-page .full-page-banner .go-down a:before {
      content: '';
      position: absolute;
      bottom: 3rem;
      border-left: 2px solid #fefefe;
      right: 1.5rem;
      height: 2.5rem; }
      @media only screen and (max-height: 670px) {
        .inner-page .full-page-banner .go-down a:before {
          bottom: 1.5rem;
          height: 1rem;
          right: 0; } }
    .inner-page .full-page-banner .go-down a:after {
      position: absolute;
      bottom: 90px;
      left: 50%;
      font-size: 2.5rem;
      margin-left: -44px; }
      @media screen and (min-width: 75em) {
        .inner-page .full-page-banner .go-down a:after {
          margin-left: -8px;
          font-size: 3rem; } }
      @media only screen and (max-height: 670px) {
        .inner-page .full-page-banner .go-down a:after {
          bottom: 42px;
          font-size: 2rem;
          margin-left: -16px; } }

.page-home .hero-background-image {
  background-image: url("../../assets/img/homapage-image-1.png"); }

.page-section-1 .hero-background-image {
  background-image: url("../../assets/img/section-1-top-banner.png"); }

.page-section-2 .hero-background-image {
  background-image: url("../../assets/img/section-2-top-banner.png"); }

.page-section-3 .hero-background-image {
  background-image: url("../../assets/img/section-3-top-banner.png"); }

.page-section-4 .hero-background-image {
  background-image: url("../../assets/img/section-4-top-banner.png"); }

.page-section-5 .hero-background-image {
  background-image: url("../../assets/img/section-5-top-banner.png"); }

.page-section-6 .hero-background-image {
  background-image: url("../../assets/img/section-6-top-banner.png"); }

.page-404-error .hero-background-image {
  background-image: url("../../assets/img/homapage-image-1.png"); }

.loader-block {
  padding-bottom: 0;
  padding-top: 0;
  transition: all 0.5s 0s ease;
  position: fixed;
  z-index: 999;
  width: 100%;
  background-color: #fefefe !important;
  overflow: hidden; }
  .loader-block:before {
    display: none; }
  .loader-block.loading-done {
    opacity: 0; }
  .loader-block .align-middle {
    top: 45%;
    margin-top: 0;
    padding: 0;
    text-align: center; }

@-moz-document url-prefix() {
  .loader-block .align-middle {
    width: auto !important; } }
    .loader-block .align-middle div {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      width: 104px;
      height: 104px; }
      @media screen and (min-width: 75em) {
        .loader-block .align-middle div {
          width: 144px;
          height: 144px; } }
    .loader-block .align-middle div:before {
      margin: auto;
      text-align: center;
      display: block; }
  .loader-block .loader-logo {
    overflow: hidden; }
  .loader-block .loader-logo img {
    width: 6.5rem; }
    @media screen and (min-width: 75em) {
      .loader-block .loader-logo img {
        width: 9rem; } }
  .loader-block .icon-font {
    color: #6E6E6D !important;
    font-size: 6.5rem; }
    @media screen and (min-width: 75em) {
      .loader-block .icon-font {
        font-size: 9rem; } }
  .loader-block .icon-font:before {
    font-size: 105px !important; }
    @media screen and (min-width: 75em) {
      .loader-block .icon-font:before {
        font-size: 142px !important; } }
  .loader-block .loader-logo,
  .loader-block .icon-big-at-a-glance,
  .loader-block .icon-big-seventy-years,
  .loader-block .icon-big-exchange,
  .loader-block .icon-big-admin,
  .loader-block .icon-big-connected,
  .loader-block .icon-big-law,
  .loader-block .icon-big-telescope {
    height: 0;
    overflow: hidden; }
  .loader-block .loader-logo {
    -webkit-animation: loader-logo-move 3s infinite;
            animation: loader-logo-move 3s infinite;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end; }

@-webkit-keyframes loader-logo-move {
  0% {
    height: auto; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: 0; } }

@keyframes loader-logo-move {
  0% {
    height: auto; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: 0; } }
  .loader-block .icon-big-at-a-glance {
    -webkit-animation: at-a-glance-move 3s infinite;
            animation: at-a-glance-move 3s infinite;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end; }

@-webkit-keyframes at-a-glance-move {
  0% {
    height: 0; }
  25% {
    height: auto; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: 0; } }

@keyframes at-a-glance-move {
  0% {
    height: 0; }
  25% {
    height: auto; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: 0; } }
  .loader-block .icon-big-exchange {
    -webkit-animation: exchange-move 3s infinite;
            animation: exchange-move 3s infinite;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end; }

@-webkit-keyframes exchange-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: auto; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: 0; } }

@keyframes exchange-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: auto; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: 0; } }
  .loader-block .icon-big-admin {
    -webkit-animation: admin-move 3s infinite;
            animation: admin-move 3s infinite;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end; }

@-webkit-keyframes admin-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: auto; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: 0; } }

@keyframes admin-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: auto; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: 0; } }
  .loader-block .icon-big-connected {
    -webkit-animation: connected-move 3s infinite;
            animation: connected-move 3s infinite;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end; }

@-webkit-keyframes connected-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: auto; }
  80% {
    height: 0; }
  100% {
    height: 0; } }

@keyframes connected-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: auto; }
  80% {
    height: 0; }
  100% {
    height: 0; } }
  .loader-block .icon-big-law {
    -webkit-animation: law-move 3s infinite;
            animation: law-move 3s infinite;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end; }

@-webkit-keyframes law-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: auto; }
  100% {
    height: 0; } }

@keyframes law-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: auto; }
  100% {
    height: 0; } }
  .loader-block .icon-big-telescope {
    -webkit-animation: telescope-move 3s infinite;
            animation: telescope-move 3s infinite;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end; }

@-webkit-keyframes telescope-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: auto; } }

@keyframes telescope-move {
  0% {
    height: 0; }
  25% {
    height: 0; }
  38% {
    height: 0; }
  50% {
    height: 0; }
  68% {
    height: 0; }
  80% {
    height: 0; }
  100% {
    height: auto; } }

.no-js #loader {
  display: none; }

.js #loader {
  display: block;
  position: absolute;
  left: 100px;
  top: 0; }

.se-pre-con {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  /* IE10+ styles */
  .se-pre-con {
    display: none !important; } }

.orbit {
  padding-top: 0.25rem;
  padding-bottom: 0;
  margin-bottom: 32px;
  transition: all 0.5s 0s ease;
  overflow: hidden; }
  .orbit.orbit-border-top {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #C5C5C5; }
  .orbit.orbit-border-bottom {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #C5C5C5; }
  .orbit ul.orbit-container {
    overflow: visible;
    height: auto !important; }
    .orbit ul.orbit-container li.orbit-slide {
      padding-top: 1rem;
      display: block;
      clear: both; }
  .orbit nav.orbit-bullets {
    margin-left: 0.25rem;
    text-align: left; }
    @media screen and (max-width: 47.9375em) {
      .orbit nav.orbit-bullets {
        width: 100%;
        display: inline-block; } }
    @media screen and (min-width: 48em) {
      .orbit nav.orbit-bullets {
        width: calc(100% - 93px);
        float: left; } }
    .orbit nav.orbit-bullets button {
      cursor: pointer;
      transition: all 0.4s ease;
      width: 1.25rem;
      height: 1.25rem;
      margin-right: 0.5rem; }
      @media screen and (min-width: 75em) {
        .orbit nav.orbit-bullets button:focus {
          width: 22px;
          height: 22px; }
        .orbit nav.orbit-bullets button.is-active:focus {
          width: 2rem;
          height: 2rem; } }
      .orbit nav.orbit-bullets button:focus, .orbit nav.orbit-bullets button.is-active:focus-visible {
        outline: none;
        border: 4px solid #0a0a0a;
        background: none; }
      .orbit nav.orbit-bullets button.is-active {
        background: none;
        width: 1.75rem;
        height: 1.75rem; }
        @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
          .orbit nav.orbit-bullets button.is-active {
            /* IE10+ specific styles go here */
            top: 0.25rem;
            position: relative; } }
  .orbit button.orbit-previous,
  .orbit button.orbit-next,
  .orbit button.orbit-pause,
  .orbit button.orbit-play {
    margin: 0;
    cursor: pointer;
    position: relative;
    border: 1px solid blue;
    top: 1.5rem;
    font-size: 0;
    padding: 0.5rem 0.25rem;
    border-color: #fefefe; }
    .orbit button.orbit-previous:hover,
    .orbit button.orbit-next:hover,
    .orbit button.orbit-pause:hover,
    .orbit button.orbit-play:hover {
      outline: none;
      background: none; }
    .orbit button.orbit-previous:active,
    .orbit button.orbit-next:active,
    .orbit button.orbit-pause:active,
    .orbit button.orbit-play:active {
      top: 26px;
      padding: 7px 0.25rem; }
    .orbit button.orbit-previous:focus,
    .orbit button.orbit-next:focus,
    .orbit button.orbit-pause:focus,
    .orbit button.orbit-play:focus {
      background: none;
      outline: none; }
    .orbit button.orbit-previous:focus-visible,
    .orbit button.orbit-next:focus-visible,
    .orbit button.orbit-pause:focus-visible,
    .orbit button.orbit-play:focus-visible {
      color: #fefefe;
      outline: none;
      border: 1px solid #0a0a0a;
      box-shadow: 0 5px 6px -5px #0a0a0a; }
    .orbit button.orbit-previous:before,
    .orbit button.orbit-next:before,
    .orbit button.orbit-pause:before,
    .orbit button.orbit-play:before {
      font-size: 2rem; }
  .orbit button.orbit-pause,
  .orbit button.orbit-play {
    top: 0; }
    .orbit button.orbit-pause:active,
    .orbit button.orbit-play:active {
      top: 0.125rem; }

.region-background .orbit nav.orbit-bullets button {
  border: 4px solid #fefefe !important; }
  .region-background .orbit nav.orbit-bullets button:hover {
    opacity: 0.6; }
  .region-background .orbit nav.orbit-bullets button:not(.is-active) {
    background: #fefefe; }

.region-background .orbit .orbit-previous,
.region-background .orbit .orbit-next,
.region-background .orbit .orbit-play,
.region-background .orbit .orbit-pause {
  border: 1px solid rgba(254, 254, 254, 0) !important; }
  .region-background .orbit .orbit-previous:before,
  .region-background .orbit .orbit-next:before,
  .region-background .orbit .orbit-play:before,
  .region-background .orbit .orbit-pause:before {
    color: #fefefe !important;
    opacity: 1; }
  .region-background .orbit .orbit-previous:hover, .region-background .orbit .orbit-previous:focus,
  .region-background .orbit .orbit-next:hover,
  .region-background .orbit .orbit-next:focus,
  .region-background .orbit .orbit-play:hover,
  .region-background .orbit .orbit-play:focus,
  .region-background .orbit .orbit-pause:hover,
  .region-background .orbit .orbit-pause:focus {
    color: #fefefe !important;
    border: 1px solid rgba(254, 254, 254, 0.7) !important; }

.accordion {
  width: 100%; }
  .accordion .accordion-item a {
    border: none;
    padding-left: 0;
    padding-right: 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
    text-decoration: none !important; }
  .accordion .accordion-item:first-child > :first-child {
    border-radius: 0; }
  .accordion li.accordion-item {
    border-bottom: 1px solid #6E6E6D; }
  .accordion li.accordion-item > a {
    font-size: 22px;
    background: none;
    border-radius: 0 !important;
    border-bottom: none !important; }
    .accordion li.accordion-item > a:before {
      content: '\e906';
      font-family: 'cvria-icons' !important;
      transition: all 0.3s 0s ease;
      font-size: 32px;
      margin-top: -14px; }
  .accordion li.accordion-item.is-active > a:before {
    content: '\e906';
    font-family: 'cvria-icons' !important;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .accordion .accordion-content {
    border-radius: 0 !important;
    border: none;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 2rem; }

.tooltip {
  background-color: #fefefe;
  padding: 2rem;
  font-size: 100%;
  color: #0a0a0a;
  border: 2px solid #6E6E6D; }
  .tooltip:before {
    border: 2px solid #6E6E6D !important;
    background-color: #fefefe;
    width: 1.45rem !important;
    height: 1.45rem !important;
    -webkit-transform: rotate(45deg) !important;
        -ms-transform: rotate(45deg) !important;
            transform: rotate(45deg) !important;
    top: auto !important;
    bottom: -0.6rem !important;
    margin-left: 0.1rem; }
    @media screen and (max-width: 74.9375em) {
      .tooltip:before {
        left: 2.8rem !important; } }
  .tooltip:after {
    content: '';
    height: 2rem;
    background-color: #fefefe;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2; }

.infograph-group {
  width: 100%; }
  @media screen and (max-width: 74.9375em) {
    .infograph-group {
      margin-top: 3.5rem;
      margin-bottom: 3.5rem; } }
  @media screen and (min-width: 48em) {
    .infograph-group .infograph-row .infograph-row-inner .infograph-icon-number-inner {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media screen and (min-width: 48em) {
    .infograph-group .infograph-row .infograph-row-inner .infograph-icon-number-inner.infograph-align-top {
      -webkit-align-items: start;
          -ms-flex-align: start;
              align-items: start; } }
  .infograph-group .infograph-row .infographic-row-table {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 100%;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1rem 1.5rem; }
    @media screen and (max-width: 47.9375em) {
      .infograph-group .infograph-row .infographic-row-table {
        padding: 0.8rem 0.8rem; } }
    .infograph-group .infograph-row .infographic-row-table .infograph-content {
      padding-right: 1rem; }
    .infograph-group .infograph-row .infographic-row-table .infograph-number {
      font-size: 3.125rem !important;
      padding-right: 0 !important; }
      @media screen and (max-width: 47.9375em) {
        .infograph-group .infograph-row .infographic-row-table .infograph-number {
          font-size: 2.325rem !important; } }
  .infograph-group .infograph-row .infograph-row-inner.infograph-icon-number {
    margin-bottom: 0.25rem; }
    @media screen and (min-width: 75em) {
      .infograph-group .infograph-row .infograph-row-inner.infograph-icon-number {
        margin-bottom: 1rem; } }
  .infograph-group .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon {
    font-family: 'cvria-icons';
    font-size: 5rem;
    line-height: 0;
    padding-right: 1.5rem; }
    .infograph-group .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon.infograph-icon-bold:before {
      -webkit-text-stroke: 0.04rem; }
    @media screen and (min-width: 48em) {
      .infograph-group .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon {
        padding-right: 2rem; } }
    .infograph-group .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon:before {
      display: block;
      height: inherit; }
  .infograph-group .infograph-row .infograph-row-inner .infograph-number {
    font-size: 5rem;
    line-height: 76px; }
    @media screen and (max-width: 47.9375em) {
      .infograph-group .infograph-row .infograph-row-inner .infograph-number {
        font-size: 3rem;
        line-height: 3.5rem; } }
    @media screen and (min-width: 48em) {
      .infograph-group .infograph-row .infograph-row-inner .infograph-number {
        padding-right: 1.5rem; } }
  .infograph-group .infograph-row .infograph-content {
    font-size: 1.2rem;
    padding-right: 1rem; }
    @media screen and (min-width: 48em) {
      .infograph-group .infograph-row .infograph-content {
        font-size: 1.5rem; } }

.infograph-group-hor .infograph-row {
  margin-bottom: 2rem;
  padding-bottom: 2rem; }
  @media screen and (min-width: 48em) {
    .infograph-group-hor .infograph-row {
      display: table;
      display: block;
      clear: both; } }

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .infograph-group-hor {
    /* IE10+ specific styles go here */ }
    .infograph-group-hor .infograph-row .infograph-content {
      width: 100%; } }

.infograph-group:not(.infograph-group-hor) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 2rem; }
  .infograph-group:not(.infograph-group-hor) .infograph-row {
    margin-bottom: 1.5rem; }

.infograph-group-ver-3col .infograph-row {
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .infograph-group-ver-3col .infograph-row {
      width: 50%; } }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) and (min-width: 48em) {
    .infograph-group-ver-3col .infograph-row:nth-child(2n+1) {
      padding-right: 1rem; }
    .infograph-group-ver-3col .infograph-row:nth-child(2n+0) {
      padding-left: 1rem; } }
  @media screen and (min-width: 75em) {
    .infograph-group-ver-3col .infograph-row {
      width: 33.3%; }
      .infograph-group-ver-3col .infograph-row:nth-child(3n+2) {
        padding-left: 0.5rem;
        padding-right: 0.5rem; }
      .infograph-group-ver-3col .infograph-row:nth-child(3n+1) {
        padding-right: 1rem; }
      .infograph-group-ver-3col .infograph-row:nth-child(3n+0) {
        padding-left: 1rem; } }

@media screen and (min-width: 75em) {
  .infograph-group-ver-3col .infograph-row .infograph-row-inner .infograph-number {
    font-size: 3rem; }
  .infograph-group-ver-3col .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon {
    font-size: 3rem; }
  .infograph-group-ver-3col .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon {
    padding-right: 0.5rem; } }

@media screen and (min-width: 48em) {
  .infograph-group-ver-2col .infograph-row {
    width: 50%; }
    .infograph-group-ver-2col .infograph-row:nth-child(2n+1) {
      padding-right: 1rem; }
    .infograph-group-ver-2col .infograph-row:nth-child(2n+0) {
      padding-left: 1rem; } }

.infograph-row-no-border {
  border: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 2rem !important; }

.region-background .infograph-group-hor .infograph-row {
  border-bottom: 0.125rem dotted rgba(254, 254, 254, 0.4); }

.region-background .infograph-row .infograph-row-inner .infograph-icon-number-inner .infograph-icon:before {
  color: #fefefe; }

.region-background .infograph-group:not(.infograph-group-hor) {
  border-bottom: 0.125rem dotted rgba(254, 254, 254, 0.4); }

.infograph-row-inner-vertical {
  display: block !important;
  height: auto !important; }
  @media screen and (max-width: 74.9375em) {
    .infograph-row-inner-vertical {
      margin-bottom: 0 !important; } }
  .infograph-row-inner-vertical .infograph-icon-number-inner {
    display: block !important; }
    .infograph-row-inner-vertical .infograph-icon-number-inner .infograph-icon {
      display: block !important;
      height: 5rem !important; }
      @media screen and (min-width: 75em) {
        .infograph-row-inner-vertical .infograph-icon-number-inner .infograph-icon {
          height: 3.125rem !important; } }

.infograph-group-ver-2col .infograph-row-inner-vertical .infograph-icon-number-inner .infograph-icon {
  height: 5rem !important; }

.reverse-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.infographic-1-3 .infograph-icon:before {
  color: #851A15 !important; }

.infographic-1-4 .infograph-icon:before {
  color: #851A15 !important; }

.infographic-1-5 .infograph-icon:before {
  color: #335270 !important; }

.infographic-1 .infograph-icon-number-inner.infographic-1-10:lang(hu) {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.infographic-1 .infograph-icon-number-inner.infographic-1-11:lang(hu) {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.infographic-1 .infograph-icon-number-inner.infographic-1-11:lang(et) {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.infographic-2 .infograph-icon-number-inner.infographic-2-6 .reverse-info:lang(hu) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.infographic-2 .infograph-icon-number-inner.infographic-2-7 .reverse-info:lang(hu) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.infographic-2 .infograph-icon-number-inner.infographic-2-8:lang(hu) {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.infograph-icon-opacity {
  opacity: 0; }
  @media screen and (max-width: 47.9375em) {
    .infograph-icon-opacity {
      display: none; } }

.infographic-10 tbody,
.infographic-14 tbody {
  border: 0px; }
  .infographic-10 tbody tr:nth-child(even),
  .infographic-14 tbody tr:nth-child(even) {
    background-color: #EEE9EB; }
  .infographic-10 tbody .center,
  .infographic-14 tbody .center {
    text-align: center; }

.timeline-block {
  padding-top: 3rem;
  clear: both; }
  @media screen and (max-width: 74.9375em) {
    .timeline-block .timeline-image {
      padding-bottom: 1rem; } }
  .timeline-block .timeline-image img {
    border-radius: 2.383rem;
    border: 1px solid #e6e6e6;
    overflow: hidden; }
    @media screen and (min-width: 48em) and (max-width: 74.9375em) {
      .timeline-block .timeline-image img {
        border-radius: 4.083rem; } }
  @media screen and (min-width: 75em) {
    .timeline-block.timeline-block-12 .timeline-image img {
      max-width: 470px;
      width: 100%;
      height: auto; } }
  .timeline-block:last-child .timeline-image img {
    margin-bottom: 3rem; }
  @media screen and (min-width: 75em) {
    .timeline-block {
      padding-top: 3rem; } }
  .timeline-block:first-child {
    padding-top: 0; }
  .timeline-block .timeline-text h3 {
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase; }
  .timeline-block .timeline-text h4 {
    font-size: 1.75rem;
    font-weight: normal; }
  .timeline-block .timeline-image img {
    width: 100%; }

@media screen and (min-width: 75em) {
  .timeline-block:nth-child(odd) .timeline-text {
    float: left;
    width: 50%;
    padding-right: 1.5rem; } }

@media screen and (min-width: 75em) {
  .timeline-block:nth-child(odd) .timeline-image {
    float: right;
    width: 50%; } }

@media screen and (min-width: 75em) {
  .timeline-block:nth-child(even) .timeline-text {
    float: left;
    width: 50%;
    padding-left: 1.5rem; } }

@media screen and (min-width: 75em) {
  .timeline-block:nth-child(even) .timeline-image {
    width: 50%;
    float: left; } }

.top-link {
  transition: all 0.5s ease-in-out;
  position: fixed;
  z-index: 999;
  bottom: -41px;
  right: -32px;
  display: block;
  cursor: pointer;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 3em 3em 0;
  border-radius: 80px;
  padding: 4px;
  padding-bottom: 20px;
  width: 72px; }
  @media screen and (min-width: 75em) {
    .top-link {
      right: -12px; } }
  .top-link.show {
    visibility: visible;
    opacity: 1; }
  .top-link.hide {
    visibility: hidden;
    opacity: 0; }
  .top-link .top-link-icon {
    line-height: 0;
    width: 100%;
    height: 100%;
    display: inline-block;
    border-radius: 80px;
    overflow: hidden;
    border: 2px solid #fefefe;
    background-color: #6E6E6D; }
  .top-link .top-link-icon:before {
    margin: auto;
    display: block;
    width: 45px;
    height: 60px;
    padding-top: 12px;
    text-align: center;
    font-size: 32px;
    color: #fefefe; }

.share-block {
  color: #fefefe;
  position: absolute;
  z-index: 100;
  margin-top: 1rem;
  margin-left: 0.5rem; }
  @media screen and (min-width: 48em) {
    .share-block {
      margin-top: 1.5rem;
      margin-left: 1.5rem; } }
  @media screen and (min-width: 75em) {
    .share-block {
      margin-top: 2rem;
      margin-left: 3rem; } }
  .share-block ul.menu li a.icon, .share-block ul.menu header .dropdown.menu > li.is-dropdown-submenu-parent > a, header .share-block ul.menu .dropdown.menu > li.is-dropdown-submenu-parent > a {
    color: #fefefe;
    padding: 0.25rem;
    font-size: 1.5rem; }
    @media only screen and (max-height: 670px) {
      .share-block ul.menu li a.icon, .share-block ul.menu header .dropdown.menu > li.is-dropdown-submenu-parent > a, header .share-block ul.menu .dropdown.menu > li.is-dropdown-submenu-parent > a {
        font-size: 1rem; } }
  .share-block .share-content {
    font-weight: bold;
    display: inline-block; }
    @media screen and (max-width: 74.9375em) {
      .share-block .share-content {
        font-size: 0; } }
    @media only screen and (max-height: 670px) {
      .share-block .share-content {
        font-size: 0; } }
    .share-block .share-content:nth-child(2) {
      border-right: 1px solid #fefefe;
      padding-right: 0.5rem; }
    .share-block .share-content:nth-child(3) {
      padding-left: 10px; }
      @media only screen and (max-height: 670px) {
        .share-block .share-content:nth-child(3) {
          padding-left: 0px; } }
  @media screen and (min-width: 75em) {
    .share-block:lang(fr) {
      top: 115px; }
    .share-block:lang(pt) {
      top: 120px; }
    .share-block:lang(es) {
      top: 155px; }
    .share-block:lang(bg) {
      top: 136px; }
    .share-block:lang(cs) {
      top: 136px; }
    .share-block:lang(da) {
      top: 136px; }
    .share-block:lang(el) {
      top: 96px; }
    .share-block:lang(hu) {
      top: 136px; }
    .share-block:lang(lt) {
      top: 106px; }
    .share-block:lang(ro) {
      top: 100px; }
    .share-block:lang(de) {
      top: 115px; }
    .share-block:lang(mt) {
      top: 105px; } }
  @media screen and (min-width: 85.375em) {
    .share-block:lang(fr) {
      top: 145px; }
    .share-block:lang(bg) {
      top: 136px; }
    .share-block:lang(hu) {
      top: 126px; }
    .share-block:lang(lt) {
      top: 116px; }
    .share-block:lang(ro) {
      top: 120px; }
    .share-block:lang(el) {
      top: 110px; }
    .share-block:lang(sl) {
      top: 120px; } }
  @media screen and (min-width: 100em) {
    .share-block:lang(de) {
      top: 135px; }
    .share-block:lang(hr) {
      top: 145px; }
    .share-block:lang(bg) {
      top: 160px; }
    .share-block:lang(hu) {
      top: 156px; }
    .share-block:lang(pl) {
      top: 156px; }
    .share-block:lang(el) {
      top: 135px; }
    .share-block:lang(mt) {
      top: 145px; } }

.page-home .share-block {
  color: #0a0a0a; }
  .page-home .share-block ul.menu li a.icon, .page-home .share-block ul.menu header .dropdown.menu > li.is-dropdown-submenu-parent > a, header .page-home .share-block ul.menu .dropdown.menu > li.is-dropdown-submenu-parent > a {
    color: #0a0a0a; }
  .page-home .share-block .share-content:nth-child(2) {
    border-right: 1px solid #0a0a0a; }

@media all and (-ms-high-contrast: none) {
  .share-block .share-content:nth-child(1),
  .share-block .share-content:nth-child(3) {
    position: relative;
    top: -8px; } }

.members-block .columns {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 0; }

@media screen and (min-width: 480px) and (max-width: 768px) {
  .members-block .member-item {
    width: 30.6%;
    margin-right: 3%;
    margin-bottom: 7%; }
    .members-block .member-item:nth-child(3n+0) {
      margin-right: 0; } }

@media screen and (min-width: 48em) {
  .members-block .member-item {
    width: 22.74%;
    margin-right: 3%;
    margin-bottom: 4%; } }

@media screen and (min-width: 48em) and (max-width: 74.9375em) {
  .members-block .member-item:nth-child(4n+0) {
    margin-right: 0; } }

@media screen and (max-width: 480px) {
  .members-block .member-item {
    width: 47%;
    margin-right: 6%;
    margin-bottom: 7%; }
    .members-block .member-item:nth-child(2n+0) {
      margin-right: 0; } }

@media screen and (min-width: 75em) {
  .members-block .member-item {
    width: 17.6%;
    margin-right: 3%;
    margin-bottom: 4%; }
    .members-block .member-item:nth-child(5n+0) {
      margin-right: 0; } }

.members-block .member-item img {
  width: 100%; }

.members-block .member-item .member-description {
  margin-top: 5%; }
  @media screen and (min-width: 48em) {
    .members-block .member-item .member-description {
      margin-top: 16px; } }

.members-block .member-item .member-description h3 {
  font-size: 21px;
  margin-bottom: 4px;
  font-weight: normal;
  font-family: "opensans-reg", sans-serif, Roboto, Arial; }
  @media screen and (max-width: 47.9375em) {
    .members-block .member-item .member-description h3 {
      font-size: 18px;
      margin-bottom: 0px; } }

.members-block .member-item .member-description div {
  font-size: 14px; }
  @media screen and (max-width: 47.9375em) {
    .members-block .member-item .member-description div {
      font-size: 13px; } }

.video__iframe:not([src]) {
  display: none; }

.video__iframe[src] + .video__notice {
  display: none; }

.video {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-color: #003C76;
  background-position: center center;
  background-size: cover; }

.privacy-videos iframe {
  width: 100%;
  height: 100%; }
  @media screen and (min-width: 75em) {
    .privacy-videos iframe {
      position: absolute; } }

.video::before {
  display: block;
  content: '';
  padding-bottom: 56.25%;
  width: 0;
  height: 0; }

.video__notice {
  background-color: rgba(10, 10, 10, 0.8);
  text-align: center;
  padding: 1.5rem;
  width: 100%;
  height: 100%;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media only screen and (min-width: 500px) {
    .video__notice {
      position: absolute; } }
  .video__notice a {
    color: #fefefe !important; }

.video__notice > * {
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto; }

.video__notice > button {
  font: inherit;
  padding: 0.5rem 1rem;
  border: 1px solid #fefefe;
  color: #fff;
  cursor: pointer;
  border-radius: 2rem; }

.video__notice > button:hover,
.video__notice > button:focus {
  outline: 3px solid #fefefe; }

ul.hightlights-anchors {
  list-style: none;
  margin: 0;
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid #6E6E6D;
  box-shadow: -0.125rem -0.063rem 1.813rem 0.25rem rgba(10, 10, 10, 0.13); }
  @media screen and (min-width: 48em) {
    ul.hightlights-anchors {
      padding: 2rem; } }
  ul.hightlights-anchors li:not(:last-child) {
    margin-bottom: 1.4rem; }
  ul.hightlights-anchors li a {
    font-weight: bold;
    text-decoration: none !important;
    position: relative;
    padding-right: 2.5rem; }
    @media screen and (max-width: 47.9375em) {
      ul.hightlights-anchors li a {
        padding-right: 0; } }
    @media screen and (min-width: 48em) {
      ul.hightlights-anchors li a {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    ul.hightlights-anchors li a:focus {
      -webkit-transform: scale(1.02) !important;
          -ms-transform: scale(1.02) !important;
              transform: scale(1.02) !important;
      outline: 0.125rem solid #0a0a0a; }
    ul.hightlights-anchors li a:after {
      font-size: 2rem;
      position: absolute;
      right: 0;
      margin-top: -0.2rem; }
      @media screen and (max-width: 47.9375em) {
        ul.hightlights-anchors li a:after {
          top: 1.4rem;
          margin-top: 0; } }
  @media screen and (max-width: 47.9375em) {
    ul.hightlights-anchors li a span {
      display: block;
      width: 100%;
      padding-right: 2.5rem; } }
  ul.hightlights-anchors li a span.focus-black {
    color: #565656;
    margin-right: 1.5rem;
    white-space: nowrap; }
  @media screen and (min-width: 48em) {
    ul.hightlights-anchors li.no-focus-text a span.focus-black {
      padding-left: 2.3rem; } }
  ul.hightlights-anchors li.no-focus-text:last-child a span.focus-black:lang(bg) {
    width: 4.4rem; }
  ul.hightlights-anchors li.no-focus-text:last-child a span.focus-black:lang(et) {
    width: 3.4rem; }
  ul.hightlights-anchors li.no-focus-text:last-child a span.focus-black:lang(hu) {
    width: 3.3rem; }
  ul.hightlights-anchors li.no-focus-text:last-child a span.focus-black:lang(sk) {
    width: 4.9rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJjb21wb25lbnRzL2Jhc2UvX2NvbW1vbi5zY3NzIiwiY29tcG9uZW50cy9iYXNlL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL2Jhc2UvX2ljb25zLnNjc3MiLCJjb21wb25lbnRzL2Jhc2UvX3ByaW50LnNjc3MiLCJjb21wb25lbnRzL2Jhc2UvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9wYWdlcy9faG9tZS5zY3NzIiwiY29tcG9uZW50cy9wYWdlcy9faW5uZXItcGFnZXMuc2NzcyIsImNvbXBvbmVudHMvcGFnZXMvXzQwNC1wYWdlLnNjc3MiLCJjb21wb25lbnRzL2xheW91dC9faW1hZ2VzLnNjc3MiLCJjb21wb25lbnRzL2xheW91dC9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL2xheW91dC9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL21vZHVsZXMvX2hlcm8tYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL21vZHVsZXMvX2xvYWRlci5zY3NzIiwiY29tcG9uZW50cy9tb2R1bGVzL19vcmRpdC1zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvbW9kdWxlcy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL21vZHVsZXMvX3Rvb2x0aXAuc2NzcyIsImNvbXBvbmVudHMvbW9kdWxlcy9faW5mb2dyYXBoaWNzLnNjc3MiLCJjb21wb25lbnRzL21vZHVsZXMvX3RpbWVsaW5lLnNjc3MiLCJjb21wb25lbnRzL21vZHVsZXMvX2dvLXRvLXRvcC5zY3NzIiwiY29tcG9uZW50cy9tb2R1bGVzL19zaGFyZS1ibG9jay5zY3NzIiwiY29tcG9uZW50cy9tb2R1bGVzL19tZW1iZXJzLWJsb2NrLnNjc3MiLCJjb21wb25lbnRzL21vZHVsZXMvX3lvdXR1YmUtY29va2llcy5zY3NzIiwiY29tcG9uZW50cy9tb2R1bGVzL19oaWdodGxpZ2h0cy1hbmNob3JzLWJsb2NrLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDRWpCLHlCQUF5QjtBQUl4QjtFQUNDLDRCQUEyQjtFQUMzQixvREFBbUQ7RUFDbkQsNFJBR2lFLEVBQUE7O0FBR2xFO0VBQ0MsNkJBQTRCO0VBQzVCLGlEQUFnRDtFQUNoRCxnUkFHOEQsRUFBQTs7QUFHL0Q7RUFDQyxtQ0FBa0M7RUFDbEMsc0RBQXFEO0VBQ3JELG9TQUdtRSxFQUFBOztBQUlyRSw2QkFBNkI7QUFHN0IsK0JBQStCO0FDckMvQjs7Ozs7R0FLRztBQ21LRztFQzVISjtJQUNFLFlBQVc7SUFDWCxXQUFVO0lBQ1YsZUFBYyxFQUNmLEVBQUE7O0FDSEQsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBQ0Usd0JDMUN1QjtFRDBDUyxPQUFPO0VBUXJDLGtCQUFpQjtFQUFFLE9BQU87RUFFNUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEOztPQUVHO0FBRUg7Ozs7OztFQU1FLGVBQWMsRUFDZjs7QUFFRDs7O09BR0c7QUFFSDtFRTlFRixlQVh1QztFRm9HakMsaUJBQWdCLEVBRW5COztBQW9DRDtvRkFDZ0Y7QUF1Q2hGOztPQUVHO0FBRUg7O0VBRUUsZUFBYyxFQUNmOztBQUVEOztPQUVHO0FBRUg7RUFLSSxpQkN2TFksRUR5TGY7O0FBRUQ7OztPQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLFVBQVM7RUFBRSxPQUFPO0VBQ2xCLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFhRDs7O09BR0c7QUFFSDtFQUNFLGtDQUFpQztFQUFFLE9B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QyxxQklwSytDLEVKcUtoRDs7QUFLRDtFSzdKSixzQkRicUQsRUo0S2hEOztBQVZEO0VBQ0Usc0JJbksrQztNSm1LL0Msa0JJbksrQztVSm1LL0MsY0luSytDO0VKb0svQyxlSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLHVCRGJxRCxFSjRLaEQ7O0FBVkQ7RUFDRSw0QkluSytDO01KbUsvQyx3QkluSytDO1VKbUsvQyxvQkluSytDO0VKb0svQyxxQklwSytDLEVKcUtoRDs7QUFLRDtFSzdKSixpQkRicUQsRUo0S2hEOztBQVZEO0VBQ0UsNEJJbksrQztNSm1LL0Msd0JJbksrQztVSm1LL0Msb0JJbksrQztFSm9LL0MscUJJcEsrQyxFSnFLaEQ7O0FBS0Q7RUs3SkosdUJEYnFELEVKNEtoRDs7QUFWRDtFQUNFLHNCSW5LK0M7TUptSy9DLGtCSW5LK0M7VUptSy9DLGNJbksrQztFSm9LL0MsZUlwSytDLEVKcUtoRDs7QUFLRDtFSzdKSix1QkRicUQsRUo0S2hEOztBQVZEO0VBQ0UsNEJJbksrQztNSm1LL0Msd0JJbksrQztVSm1LL0Msb0JJbksrQztFSm9LL0MscUJJcEsrQyxFSnFLaEQ7O0FBS0Q7RUs3SkosaUJEYnFELEVKNEtoRDs7QUFWRDtFQUNFLDRCSW5LK0M7TUptSy9DLHdCSW5LK0M7VUptSy9DLG9CSW5LK0M7RUpvSy9DLHFCSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLHVCRGJxRCxFSjRLaEQ7O0FBVkQ7RUFDRSxzQkluSytDO01KbUsvQyxrQkluSytDO1VKbUsvQyxjSW5LK0M7RUpvSy9DLGVJcEsrQyxFSnFLaEQ7O0FBS0Q7RUs3SkosdUJEYnFELEVKNEtoRDs7QUFWRDtFQUNFLDRCSW5LK0M7TUptSy9DLHdCSW5LK0M7VUptSy9DLG9CSW5LK0M7RUpvSy9DLHFCSXBLK0MsRUpxS2hEOztBQUtEO0VLN0pKLGlCRGJxRCxFSjRLaEQ7O0FBVkQ7RUFDRSw0QkluSytDO01KbUsvQyx3QkluSytDO1VKbUsvQyxvQkluSytDO0VKb0svQyxxQklwSytDLEVKcUtoRDs7QUFLRDtFSzdKSix1QkRicUQsRUo0S2hEOztBQVZEO0VBQ0UsdUJJbksrQztNSm1LL0MsbUJJbksrQztVSm1LL0MsZUluSytDO0VKb0svQyxnQklwSytDLEVKcUtoRDs7QUFLRDtFSzdKSix1QkRicUQsRUo0S2hEOztBQUtEO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFQTFHTDtJQUdFLHVCQUZzQjtRQUV0QixtQkFGc0I7WUFFdEIsZUFGc0I7SUFHdEIsZ0JBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RUExR0w7SUFHRSxzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RUExR0w7SUFHRSw0QkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFQTFHTDtJQUdFLHNCQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFQTFHTDtJQUdFLHNCQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFQTFHTDtJQUdFLDRCQUZzQjtRQUV0Qix3QkFGc0I7WUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QUFtR0c7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VBMUdMO0lBR0UsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RUExR0w7SUFHRSx3QkFGc0I7UUFFdEIsb0JBRnNCO1lBRXRCLGdCQUZzQjtJQUd0QixpQkFIc0IsRUFJdkI7O0FBK0hDO0VFcE5BLGlCQ3VFUztFRHRFVCxnQkNzRVMsRUg4SW1DOztBQUc1QztFRXhOQSx1QkFGcUM7RUFHckMsc0JBSHFDLEVGMk5nQjs7QVJ2RW5EO0VRdUJBO0lBQ0UsMkJJbksrQztRSm1LL0MsdUJJbksrQztZSm1LL0MsbUJJbksrQztJSm9LL0Msb0JJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixnQkRoQmdDLEVKK0szQjtFQVZEO0lBQ0UsNEJJbksrQztRSm1LL0Msd0JJbksrQztZSm1LL0Msb0JJbksrQztJSm9LL0MscUJJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixzQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSxzQkluSytDO1FKbUsvQyxrQkluSytDO1lKbUsvQyxjSW5LK0M7SUpvSy9DLGVJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSix1QkRicUQsRUo0S2hEO0VBVkQ7SUFDRSw0QkluSytDO1FKbUsvQyx3QkluSytDO1lKbUsvQyxvQkluSytDO0lKb0svQyxxQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLGlCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLDRCSW5LK0M7UUptSy9DLHdCSW5LK0M7WUptSy9DLG9CSW5LK0M7SUpvSy9DLHFCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosdUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosdUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsNEJJbksrQztRSm1LL0Msd0JJbksrQztZSm1LL0Msb0JJbksrQztJSm9LL0MscUJJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSw0QkluSytDO1FKbUsvQyx3QkluSytDO1lKbUsvQyxvQkluSytDO0lKb0svQyxxQklwSytDLEVKcUtoRDtF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S0Q7SUs3SkosdUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsNEJJbksrQztRSm1LL0Msd0JJbksrQztZSm1LL0Msb0JJbksrQztJSm9LL0MscUJJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSw0QkluSytDO1FKbUsvQyx3QkluSytDO1lKbUsvQyxvQkluSytDO0lKb0svQyxxQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLHVCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHNCSW5LK0M7UUptSy9DLGtCSW5LK0M7WUptSy9DLGNJbksrQztJSm9LL0MsZUlwSytDLEVKcUtoRDtFQUtEO0lLN0pKLHVCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLDRCSW5LK0M7UUptSy9DLHdCSW5LK0M7WUptSy9DLG9CSW5LK0M7SUpvSy9DLHFCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosaUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsNEJJbksrQztRSm1LL0Msd0JJbksrQztZSm1LL0Msb0JJbksrQztJSm9LL0MscUJJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSix1QkRicUQsRUo0S2hEO0VBVkQ7SUFDRSxzQkluSytDO1FKbUsvQyxrQkluSytDO1lKbUsvQyxjSW5LK0M7SUpvSy9DLGVJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSix1QkRicUQsRUo0S2hEO0VBVkQ7SUFDRSw0QkluSytDO1FKbUsvQyx3QkluSytDO1lKbUsvQyxvQkluSytDO0lKb0svQyxxQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLGlCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLDRCSW5LK0M7UUptSy9DLHdCSW5LK0M7WUptSy9DLG9CSW5LK0M7SUpvSy9DLHFCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosdUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsdUJJbksrQztRSm1LL0MsbUJJbksrQztZSm1LL0MsZUluSytDO0lKb0svQyxnQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLHVCRGJxRCxFSjRLaEQ7RUFLRDtJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSx1QkFGc0I7VUFFdEIsbUJBRnNCO2NBRXRCLGVBRnNCO01BR3RCLGdCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lBMUdMO01BR0UsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSx3QkFGc0I7VUFFdEIsb0JBRnNCO2NBRXRCLGdCQUZzQjtNQUd0QixpQkFIc0IsRUFJdkIsRUFBQTs7QVI2REc7RVE4Q0U7SUFDRSxzQkE1Sk07UUE0Sk4sa0JBNUpNO1lBNEpOLGNBNUpNLEVBNkpQLEVBQUE7O0FBS0Q7RUFFSSx1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCLEVBSzVCO0VSNURMO0lRcURFO01BS00sc0JBdktFO1VBdUtGLGtCQXZLRTtjQXVLRixjQXZLRSxFQXlLTCxFQUFBOztBUjVETDtFUWtFRjtJRXBOQSxpQkN1RVM7SUR0RVQsZ0JDc0VTLEVIOEltQztFQUc1QztJRXhOQSxzQkFGcUM7SUFHckMscUJBSHFDLEVGMk5nQixFQUFBOztBUnZFbkQ7RVF1QkE7SUFDRSwyQkluSytDO1FKbUsvQyx1QkluSytDO1lKbUsvQyxtQkluSytDO0lKb0svQyxvQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLGdCRGhCZ0MsRUorSzNCO0VBVkQ7SUFDRSw0QkluSytDO1FKbUsvQyx3QkluSytDO1lKbUsvQyxvQkluSytDO0lKb0svQyxxQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLHNCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHNCSW5LK0M7UUptSy9DLGtCSW5LK0M7WUptSy9DLGNJbksrQztJSm9LL0MsZUlwSytDLEVKcUtoRDtFQUtEO0lLN0pKLHVCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLDRCSW5LK0M7UUptSy9DLHdCSW5LK0M7WUptSy9DLG9CSW5LK0M7SUpvSy9DLHFCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosaUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsNEJJbksrQztRSm1LL0Msd0JJbksrQztZSm1LL0Msb0JJbksrQztJSm9LL0MscUJJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSix1QkRicUQsRUo0S2hEO0VBVkQ7SUFDRSxzQkluSytDO1FKbUsvQyxrQkluSytDO1lKbUsvQyxjSW5LK0M7SUpvSy9DLGVJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSix1QkRicUQsRUo0S2hEO0VBVkQ7SUFDRSw0QkluSytDO1FKbUsvQyx3QkluSytDO1lKbUsvQyxvQkluSytDO0lKb0svQyxxQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLGlCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLDRCSW5LK0M7UUptSy9DLHdC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QkluSytDO1lKbUsvQyxjSW5LK0M7SUpvSy9DLGVJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSix1QkRicUQsRUo0S2hEO0VBVkQ7SUFDRSw0QkluSytDO1FKbUsvQyx3QkluSytDO1lKbUsvQyxvQkluSytDO0lKb0svQyxxQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLGlCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLDRCSW5LK0M7UUptSy9DLHdCSW5LK0M7WUptSy9DLG9CSW5LK0M7SUpvSy9DLHFCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosdUJEYnFELEVKNEtoRDtFQVZEO0lBQ0Usc0JJbksrQztRSm1LL0Msa0JJbksrQztZSm1LL0MsY0luSytDO0lKb0svQyxlSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosdUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsNEJJbksrQztRSm1LL0Msd0JJbksrQztZSm1LL0Msb0JJbksrQztJSm9LL0MscUJJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSixpQkRicUQsRUo0S2hEO0VBVkQ7SUFDRSw0QkluSytDO1FKbUsvQyx3QkluSytDO1lKbUsvQyxvQkluSytDO0lKb0svQyxxQklwSytDLEVKcUtoRDtFQUtEO0lLN0pKLHVCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLHNCSW5LK0M7UUptSy9DLGtCSW5LK0M7WUptSy9DLGNJbksrQztJSm9LL0MsZUlwSytDLEVKcUtoRDtFQUtEO0lLN0pKLHVCRGJxRCxFSjRLaEQ7RUFWRDtJQUNFLDRCSW5LK0M7UUptSy9DLHdCSW5LK0M7WUptSy9DLG9CSW5LK0M7SUpvSy9DLHFCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3SkosaUJEYnFELEVKNEtoRDtFQVZEO0lBQ0UsNEJJbksrQztRSm1LL0Msd0JJbksrQztZSm1LL0Msb0JJbksrQztJSm9LL0MscUJJcEsrQyxFSnFLaEQ7RUFLRDtJSzdKSix1QkRicUQsRUo0S2hEO0VBVkQ7SUFDRSx1QkluSytDO1FKbUsvQyxtQkluSytDO1lKbUsvQyxlSW5LK0M7SUpvSy9DLGdCSXBLK0MsRUpxS2hEO0VBS0Q7SUs3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RzdCQSwyQkFEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSwyQkFEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSw0QkFEZ0gsRUhnQy9HO0VkbURDO0ljakVKO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQWRIO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRyxFQUFBO0VkbURDO0ljakVKO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRyxFQUFBO0VkbURDO0ljakVKO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRyxFQUFBO0VkbURDO0ljakVKO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRyxFQUFBOztBQThDSDtFQ25JTSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVEd0kvQjtFZEFDO0ljTEo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRHdJL0IsRUFBQTs7QUFJRDtFQzVJSSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVEOEkvQjtFZE5DO0ljSUY7TUM1SUkseUJBQTRCO01BQTVCLHdCQUE0QixFRDhJL0IsRUFBQTs7QUFYSDtFQ25JTSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVEbUovQjtFZFhDO0ljTEo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRG1KL0IsRUFBQTs7QUl0Skg7RUR5REUsWUFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLGFBRG9ELEVDdERyRDs7QWxCeUlHO0VrQjNJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QWxCeUlHO0VrQjNJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QWxCeUlHO0VrQjNJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QWxCeUlHO0VrQjNJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QUFGRDtFRHlERSw0QkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLDJCQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsaUNBRGdILEVDdERqSDs7QUFGRDtFRHlERSwyQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLDJCQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsaUNBRGdILEVDdERqSDs7QUFGRDtFRHlERSxpQ0FEZ0gsRUN0RGpIOztBQUZEO0VEeURFLDZCQURnSCxFQ3REakg7O0FsQnlJRztFa0IzSUo7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSCxFQUFBOztBbEJ5SUc7RWtCM0lKO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpILEVBQUE7O0FsQnlJRztFa0IzSUo7SUR5REUsNkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakgsRUFBQTs7QWxCeUlHO0VrQjNJSjtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpI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LEVBQUE7O0FuQnlJRDtFbUI5SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QW5CNEhQO0VtQnJITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBbkJtSFA7RW1CckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FuQm1IUDtFbUJySE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QW5CbUhQO0VtQnJITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBbkJtSFA7RWM2REE7SUt0S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMd0szQjtJS3JLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QW5Ca0dEO0VjdURBO0lLdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTHlNM0I7SUt0TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QW5CeUlEO0VtQjlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBbkI0SFA7RW1COUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FuQjRIUDtFbUJySE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QW5CbUhQO0VtQnJITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBbkJtSFA7RW1CckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FuQm1IUDtFYzZEQTtJS3RLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx3SzNCO0lLcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBbkJrR0Q7RWN1REE7SUt2TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMeU0zQjtJS3RNRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBbkJ5SUQ7RW1COUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FuQjRIUDtFbUI5SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QW5CNEhQO0VtQjlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBbkI0SFA7RW1CckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FuQm1IUDtFbUJySE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QW5CbUhQO0VjNkRBO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SUtyS0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FuQmtHRDtFY3VEQTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lLdE1EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0FuQnlJRDtFbUI5SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QW5CNEhQO0VtQjlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBbkI0SFA7RW1COUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FuQjRIUDtFbUI5SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QW5CNEhQO0VtQnJITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBbkJtSFA7RWM2REE7SUt0S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMd0szQjtJS3JLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QVhpSUQ7RVk5S0YsZ0JBQTZCLEVONE4xQjs7QUFFRDtFTTlORixpQ0FBNkIsRU5nTzFCOztBTmxERDtFWTlLRixzQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHVDQUE2QixFTmdPMUI7O0FObEREO0VZOUtGLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QU5sREQ7RVk5S0YsaUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixrQ0FBNkIsRU5nTzFCOztBTmxERDtFWTlLRix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHdDQUE2QixFTmdPMUI7O0FObEREO0VZOUtGLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QU5sREQ7RVk5S0YsaUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixrQ0FBNkIsRU5nTzFCOztBTmxERDtFWTlLRix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHdDQUE2QixFTmdPMUI7O0FObEREO0VZOUtGLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QU5sREQ7RVk5S0YsaUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORixrQ0FBNkIsRU5nTzFCOztBTmxERDtFWTlLRix1QkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLHdDQUE2QixFTmdPMUI7O0FObEREO0VZOUtGLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QWRqRkQ7RVErQkE7SVk5S0YsZ0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLGtDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0Ysc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUIsRUFBQTs7QWRqRkQ7RVErQkE7SVk5S0YsZ0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLGtDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0Ysc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUIsRUFBQTs7QWRqRkQ7RVErQkE7SVk5S0YsZ0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLGtDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0Ysc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUIsRUFBQTs7QWRqRkQ7RVErQkE7SVk5S0YsZ0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLGtDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0Ysc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHlDQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RU5sREQ7SVk5S0YsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5G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QTtFQS9CRDtJR3BERSw2QkFENEU7SUZqQzFFLHFCQUE0QjtJQUE1Qix3QkFBNEIsRUQ0RjdCO0VkbUNDO0ljekNKO01HcERFLDhCQUQ0RTtNRmpDMUUsc0JBQTRCO01BQTVCLHlCQUE0QixFRG1HekIsRUFBQTtFQXJDUDtJR3pCRSxhQUFtQixFSDJCcEI7RUFFRDtJR3pCRSxhQUFtQixFSDJCcEI7RUFNQztJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDZCQURnSCxFSGdDL0c7RWRtREM7SWNqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBZEg7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWRtREM7SWNqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWRtREM7SWNqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWRtREM7SWNqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7O0FBZ09IO0VPclVFLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsMEJBQWlCO01BQWpCLHNCQUFpQjtVQUFqQixrQkFBaUI7RUFDakIsNkJBQW9CO01BQXBCLHdCQUFvQjtVQUFwQixxQkFBb0I7RUEyQmhCLGFBQXNDLEVQeVMzQzs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QUFFRDtFTzdSRSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFHakIsa0NBQWlDO0VBQ2pDLDZDQUE0QyxFUDBSM0M7O0FBRUQ7RU9wU0UsaUJBQWdCO0VBQ2hCLGlCQUFnQjtFQU1sQixrQ0FBaUM7RUFDakMsNkNBQTRDLEVQOFIzQzs7QUFHRDtFTzFSQSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGlCQUFnQixFUDBSZjtFT3hSRDtJQUNFLGlCQUFnQjtJQUNoQiwwQkFBaUI7UUFBakIsc0JBQWlCO1lBQWpCLGtCQUFpQixFQUNsQjs7QXJCcUZHO0VjcU1GO0lPN1ZBLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQWlCO1FBQWpCLHNCQUFpQjtZQUFqQixrQkFBaUI7SUFDakIsNkJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixxQkFBb0I7SUEyQmhCLGFBQXNDLEVQaVV6QztFQUVEO0lBQ0UsWUFBVyxFQUNaO0VBRUQ7SU9yVEEsaUJBQWdCO0lBQ2hCLGdCQUFlO0lBR2pCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVBrVHpDO0VBRUQ7SU83U0Ysc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixpQkFBZ0IsRVA2U2I7SU8zU0g7TUFDRSxpQkFBZ0I7TUFDaEIsMEJBQWlCO1VBQWpCLHNCQUFpQjtjQUFqQixrQkFBaUIsRUFDbEI7RVAwU0M7SU9oVUEsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQU1sQixrQ0FBaUM7SUFDakMsNkNBQTRDLEVQMFR6QyxFQUFBOztBZHZOQztFY3FNRjtJTzdWQSxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLDBCQUFpQjtRQUFqQixzQkFBaUI7WUFBakIsa0JBQWlCO0lBQ2pCLDZCQUFvQjtRQUFwQix3QkFBb0I7WUFBcEIscUJBQW9CO0lBMkJoQixhQUFzQyxFUGlVekM7RUFFRDtJQUNFLFlBQVcsRUFDWjtFQUVEO0lPclRBLGlCQUFnQjtJQUNoQixnQkFBZTtJQUdqQixrQ0FBaUM7SUFDakMsNkNBQTRDLEVQa1R6QztFQUVEO0lPN1NGLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsaUJBQWdCLEVQNlNiO0lPM1NIO01BQ0UsaUJBQWdCO01BQ2hCLDBCQUFpQjtVQUFqQixzQkFBaUI7Y0FBakIsa0JBQWlCLEVBQ2xCO0VQMFNDO0lPaFVBLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFNbEIsa0NBQWlDO0lBQ2pDLDZDQUE0QyxFUDBUekMsRUFBQTs7QWR2TkM7RWNxTUY7SU83VkEsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQiwwQkFBaUI7UUFBakIsc0JBQWlCO1lBQWpCLGtCQUFpQjtJQUNqQiw2QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLHFCQUFvQjtJQTJCaEIsYUFBc0MsRVBpVXpDO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RUFFRDtJT3JUQSxpQkFBZ0I7SUFDaEIsZ0JBQWU7SUFHakIsa0NBQWlDO0lBQ2pDLDZDQUE0QyxFUGtUekM7RUFFRDtJTzdTRixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLGlCQUFnQixFUDZTYjtJTzNTSDtNQUNFLGlCQUFnQjtNQUNoQiwwQkFBaUI7VUFBakIsc0JBQWlCO2NBQWpCLGtCQUFpQixFQUNsQjtFUDBTQztJT2hVQSxpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBTWxCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVAwVHpDLEVBQUE7O0Fkdk5DO0VjcU1GO0lPN1ZBLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQWlCO1FBQWpCLHNCQUFpQjtZQUFqQixrQkFBaUI7SUFDakIsNkJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixxQkFBb0I7SUEyQmhCLGFBQXNDLEVQaVV6QztFQUVEO0lBQ0UsWUFBVyxFQUNaO0VBRUQ7SU9yVEEsaUJBQWdCO0lBQ2hCLGdCQUFlO0lBR2pCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVBrVHpDO0VBRUQ7SU83U0Ysc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixpQkFBZ0IsRVA2U2I7SU8zU0g7TUFDRSxpQkFBZ0I7TUFDaEIsMEJBQWlCO1VBQWpCLHNCQUFpQjtjQUFqQixrQkFBaUIsRUFDbEI7RVAwU0M7SU9oVUEsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQU1sQixrQ0FBaUM7SUFDakMsNkNBQTRDLEVQMFR6QyxFQUFBOztBQUlEO0VBRUksWUFBVztFT3JYZixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLDBCQUFpQjtNQUFqQixzQkFBaUI7VUFBakIsa0JBQWlCO0VBQ2pCLDZCQUFvQjtNQUFwQix3QkFBb0I7VUFBcEIscUJBQW9CO0VBeUJoQixjQUF1QyxFUDJWeEM7O0FkL05EO0VjMk5GO0lBUU0sWUFBVztJTzNYakIsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQiwwQkFBaUI7UUFBakIsc0JBQWlCO1lBQWpCLGtCQUFpQjtJQUNqQiw2QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLHFCQUFvQjtJQXlCaEIsY0FBdUMsRVBpV3RDLEVBQUE7O0Fkck9IO0VjMk5GO0lBUU0sWUFBVztJTzNYakIsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQiwwQkFBaUI7UUFBakIsc0JBQWlCO1lBQWpCLGtCQUFpQjtJQUNqQiw2QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLHFCQUFvQjtJQXlCaEIsY0FBdUMsRVBpV3RDLEVBQUE7O0Fkck9IO0VjMk5GO0lBUU0sWUFBVztJTzNYakIsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQiwwQkFBaUI7UUFBakIsc0JBQWlCO1lBQWpCLGtCQUFpQjtJQUNqQiw2QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLHFCQUFvQjtJQXlCaEIsY0FBdUMsRVBpV3RDLEVBQUE7O0Fkck9IO0VjMk5GO0lBUU0sWUFBVztJTzNYakIsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQiwwQkFBaUI7UUFBakIsc0JBQWlCO1lBQWpCLGtCQUFpQjtJQUNqQiw2QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLHFCQUFvQjtJQXlCaEIsY0FBdUMsRVBpV3RDLEVBQUE7O0FBSUw7RUFFSSxhQUFZLEVBQ2I7O0FkNU9EO0VjeU9GO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FkaFBIO0VjeU9GO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FkaFBIO0VjeU9GO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FkaFBIO0VjeU9GO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FBelJQO0VDL0ZNLHNCQUE0QjtFQUE1Qix5QkFBNEIsRUQ4SGpDO0VkVUc7SWN6Q0o7TUMvRk0sdUJBQTRCO01BQTVCLDBCQUE0QixFRDhIakMsRUFBQTtFQS9CRDtJR3BERSw2QkFENEU7SUZqQzFFLHFCQUE0QjtJQUE1Qix3QkFBNEIsRUQ0RjdCO0VkbUNDO0ljekNKO01HcERFLDhCQUQ0RTtNRmpDMUUsc0JBQTRCO01BQTVCLHlCQUE0QixFRG1HekIsRUFBQTtFQXJDUDtJR3pCRSxhQUFtQixFSDJCcEI7RUFFRDtJR3pCRSxhQUFtQixFSDJCcEI7RUFNQztJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDRCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxrQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsa0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDZCQURnSCxFSGdDL0c7RWRtREM7SWNqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBZEg7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWRtREM7SWNqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWRtREM7SWNqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7RWRtREM7SWNqRUo7TUd6QkUsYUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsYUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HLEVBQUE7O0FBeVNEO0VPM1hJLDhCQUFtQyxFUDZYdEM7RWR4UEM7SWNzUEY7TU8zWEksK0JBQW1DLEVQNlh0QyxFQUFBO0VkeFBDO0ljc1BGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTtFZHhQQztJY3NQRjtNTzNYSSwrQkFBbUMsRVA2WHRDLEVBQUE7RWR4UEM7SWNzUEY7TU8zWEksK0JBQW1DLEVQNlh0QyxFQUFBOztBZHhQQztFYzBQQTtJTy9YRSwrQkFBbUMsRVBpWXBDLEVBQUE7O0FkNVBEO0VjMFBBO0lPL1hFLCtCQUFtQyxFUGlZcEMsRUFBQTs7QWQ1UEQ7RWMwUEE7SU8vWEUsK0JBQW1DLEVQaVlwQyxFQUFBOztBZDVQRDtFYzBQQTtJTy9YRSwrQkFBbUMsRVBpWXBDLEVBQUE7O0FRcktMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxzQmhCcEM0QjtFZ0JzQzVCLG1CQUFrQjtFQUNsQixpQmhCeENzQjtFZ0J5Q3RCLG1DaEJ2Q3lDLEVnQndDMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxrQmhCeElxQjtFZ0J5SXJCLHFCQUFvQixFQUNyQjs7QXBCZ0RDO0VvQjVDQSxlaEI5RGlCO0VnQitEakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7RUFNRSx1RGhCL0p3RDtFZ0JnS3hELG1CaEIxR3NCO0VnQjJHdEIsa0JoQjNKcUI7RWdCNEpyQixlaEIxR2tCO0VnQjJHbEIsbUNoQjlFc0MsRWdCb0Z2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVoQmpMZSxFZ0JrTGhCOztBQVFHO0VBSUksZ0JYdlA2QztFV21RN0MsaUJoQnZJVztFZ0IrSVgsY0FBYTtFQU9iLHNCaEJySmlCLEVnQnVKcEI7O0FBakNEO0VBSUksb0JYdlA2QztFV21RN0MsaUJoQnZJVztFZ0IrSVgsY0FBYTtFQU9iLHNCaEJySmlCLEVnQnVKcEI7O0FBakNEO0VBSUksb0JYdlA2QztFV21RN0MsaUJoQnZJVztFZ0IrSVgsY0FBYTtFQU9iLHNCaEJySmlCLEVnQnVKcEI7O0FBakNEO0VBSUkscUJYdlA2QztFV21RN0MsaUJoQnZJVztFZ0IrSVgsY0FBYTtFQU9iLHNCaEJySmlCLEVnQnVKcEI7O0FBakNEO0VBSUksZ0JYdlA2QztFV21RN0MsaUJoQnZJVztFZ0IrSVgsY0FBYTtFQU9iLHNCaEJySmlCLEVnQnVKcEI7O0FBakNEO0VBSUkscUJYdlA2QztFV21RN0MsaUJoQnZJVztFZ0IrSVgsY0FBYTtFQU9iLHNCaEJySmlCLEVnQnVKcEI7O0F0QnBNSDtFc0JtS0U7SUFJSSxnQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLG9CWHZQNkMsRVdvUmhEO0VBakNEO0lBSUksb0JYdlA2QyxFV29SaEQ7RUFqQ0Q7SUFJSSxxQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLGdCWHZQNkMsRVdvUmhEO0VBakNEO0lBSUkscUJYdlA2QyxFV29SaEQsRUFBQTs7QXRCcE1IO0VzQm1LRTtJQUlJLGtCWHZQNkMsRVdvUmhEO0VBakNEO0lBSUksb0JYdlA2QyxFV29SaEQ7RUFqQ0Q7SUFJSSxtQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLG9CWHZQNkMsRVdvUmhEO0VBakNEO0lBSUksbUJYdlA2QyxFV29SaEQ7RUFqQ0Q7SUFJSSxvQlh2UDZDLEVXb1JoRCxFQUFBOztBcEJuR0w7RW9CMEdBLHFCQUFvQjtFQUNwQixlaEIxUGE7RWdCMlBiLHNCaEJ2SHlCO0VnQnlIekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlaEI5SDJELEVnQmtJNUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FwQnZLRDtFb0I0S0EsWUFBVztFQUVYLGdCaEJuUmU7RWdCb1JmLFVBQVM7RUFDVCxrQmhCMUk2QjtFZ0I0STdCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDaEIvUGlCO0VnQmdRakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxzQmhCcEs0QjtFZ0JxSzVCLDZCaEJuSnlCO0VnQm9KekIsaUJoQnZLc0IsRWdCd0t2Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCaEI3SnNCO0VnQjhKdEIsc0JoQmhLa0IsRWdCaUtuQjs7QUFHRDtFQUNFLHFCaEJuS3NCLEVnQm9LdkI7O0FBR0Q7RUFFSSxxQmhCeEsyQjtFZ0J5SzNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CaEI5S3lCLEVnQm9MMUI7RUFQRDtJQUlJLHNCaEIvSzhCO0lnQmdMOUIsa0JoQjFSbUIsRWdCMlJwQjs7QUFJSDtFQUNFLG1CaEI3TTRCO0VnQjhNNUIsdUNYMVdxRDtFVzJXckQsK0JoQmxUaUIsRWdCd1RsQjtFQVREO0lBTUksaUJoQm5Ob0I7SWdCb05wQixlaEJyVGEsRWdCc1RkOztBQUlIO0VBQ0UsZUFBYztFQUNkLHFCWHRYcUQ7RVd1WHJELGVoQjdUZSxFZ0JrVWhCO0VBUkQ7SUFNSSxjaEJqTTZCLEVBQUE7O0FnQnNNakM7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O2NBdURsQiw0QkF2RGtCO1VBdURsQixvQkF2RGtCLEVEb0ZmOztBQUlIO0VDbERBLGdDQS9DZ0I7TUErQ2hCLHNCQS9DZ0I7VUErQ2hCLHdCQS9DZ0I7RUFnRGhCLDRCQXhDZ0I7TUF3Q2hCLHVCQXhDZ0I7VUF3Q2hCLG9CQXhDZ0I7RUQyRmQsOEJBQXFCO01BQXJCLDJCQUFxQjtVQUFyQixzQkFBcUIsRUFDdEI7O0FBS0c7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FuRTBERDtFbUU1REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FuRTBERDtFbUU1REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FuRTBERDtFbUU1REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FuRTBERDtFbUU1REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hC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bEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VJQWxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRmhDcUMsRURjcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUlEbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLDhCRjVCbUQ7TUU0Qm5ELDBCRjVCbUQ7VUU0Qm5ELHNCRjVCbUQ7RU1HakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGdDRjNCcUQ7TUUyQnJELDRCRjNCcUQ7VUUyQnJELHdCRjNCcUQ7RU1FbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUhtQ2pDLGlDRjFCc0Q7TUUwQnRELDZCRjFCc0Q7VUUwQnRELHlCRjFCc0Q7RU1DcEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUhrQy9CLCtCRnpCb0Q7TUV5QnBELDJCRnpCb0Q7VUV5QnBELHVCRnpCb0Q7RU1BbEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLDhCRnRCbUQ7TUVzQm5ELDBCRnRCbUQ7VUVzQm5ELHNCRnRCbUQ7RU1IakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGdDRnJCcUQ7TUVxQnJELDRCRnJCcUQ7VUVxQnJELHdCRnJCcUQ7RU1KbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDRnBCc0Q7TUVvQnRELDZCRnBCc0Q7VUVvQnRELHlCRnBCc0Q7RU1McEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbkNpQztVSG1DakMsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLCtCRm5Cb0Q7TUVtQnBELDJCRm5Cb0Q7VUVtQnBELHVCRm5Cb0Q7RU1ObEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJC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WjtJQW5DSDtNQXVDRyxnQkFBZTtNQUNmLG1CQUFrQjtNQUNsQixTQUFRO01BQ1Isb0JBQW1CLEVBTW5CO010R3VIRztRc0d2S047VUE2Q0ksWUFBVztVQUNYLGNBQWEsRUFFZCxFQUFBO0V0R3VIRztJc0d2S047TUFxREcsZUFBYztNQUNkLFlBQVc7TUFDWCxzQkFBcUIsRUFFdEIsRUFBQTtFQXpERjtJQTRERSxlaEd5RWE7SWdHeEViLHFCQUFvQjtJQUNwQixvQkFBbUIsRUFDbkI7RXRHd0dJO0lzR3ZLTjtNQW9FRyxxQkFBb0IsRUFFckIsRUFBQTtFQXRFRjtJQTRFRSxjQUFhLEVBQ2I7RUE3RUY7SUFpRkUsY0FBYSxFQUNiO0VBbEZGO0lBc0ZFLGNBQWEsRUFDYjtFQXZGRjtJQTJGRSxjQUFhLEVBQ2IiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIEBncm91cCBDVVNUT00gRm9udHMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29wZW5zYW5zLXJlZyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLVJlZ3VsYXIuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1SZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuLXNhbnMvT3BlblNhbnMtUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuc2Fucy1ib2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcGVuLXNhbnMvT3BlblNhbnMtQm9sZC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29wZW5zYW5zLWV4dHJhLWJvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1FeHRyYUJvbGQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1FeHRyYUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLUV4dHJhQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLUV4dHJhQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1FeHRyYUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qIEBncm91cCBDVVNUT00gdmFyaWFibGVzICovXG4vKiBAZ3JvdXAgRk9VTkRBVElPTiBpbXBvcnRzICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDhlbSZsYXJnZT03NWVtJnhsYXJnZT04NS4zNzVlbSZ4eGxhcmdlPTEwMGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW5zYW5zLXJlZ1wiLCBzYW5zLXNlcmlmLCBSb2JvdG8sIEFyaWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93LmlzLWNvbGxhcHNlLWNoaWxkLFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyA+IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgbWluLXdpZHRoOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfSB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAueGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueGxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54eGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfSB9XG5cbi5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueHhsYXJnZS0xLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eGxhcmdlLTMsIC5ncmlkLXggPiAueHhsYXJnZS00LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eGxhcmdlLTYsIC5ncmlkLXggPiAueHhsYXJnZS03LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eGxhcmdlLTksIC5ncmlkLXggPiAueHhsYXJnZS0xMCwgLmdyaWQteCA+IC54eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gIC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW5zYW5zLXJlZ1wiLCBzYW5zLXNlcmlmLCBSb2JvdG8sIEFyaWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDMuNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzZFNkU2RDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICM1ZjVmNWU7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiA1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuOHJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxLjhyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzQ0NDsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkQ7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1ODU3O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDOEFFNzA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I0OTM0NTtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNFNTE2RTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjQxNTg7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTFBMTU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2YTE1MTE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZEO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZEO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhBRTcwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTUxNkU7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTFBMTU7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNkU2RTZEO1xuICAgIGNvbG9yOiAjNkU2RTZEOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmU2ZTZkO1xuICAgICAgY29sb3I6ICM2ZTZlNmQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkU2RTZEO1xuICAgICAgICBjb2xvcjogIzZFNkU2RDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZFNkU2RDtcbiAgICAgIGNvbG9yOiAjNkU2RTZEOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmU2ZTZkO1xuICAgICAgICBjb2xvcjogIzZlNmU2ZDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RTZFNkQ7XG4gICAgICAgICAgY29sb3I6ICM2RTZFNkQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0M4QUU3MDtcbiAgICAgIGNvbG9yOiAjQzhBRTcwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2M4YWU3MDtcbiAgICAgICAgY29sb3I6ICNjOGFlNzA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDOEFFNzA7XG4gICAgICAgICAgY29sb3I6ICNDOEFFNzA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzRTUxNkU7XG4gICAgICBjb2xvcjogIzNFNTE2RTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNTE2ZTtcbiAgICAgICAgY29sb3I6ICMzZTUxNmU7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM0U1MTZFO1xuICAgICAgICAgIGNvbG9yOiAjM0U1MTZFOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xuICAgICAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzg1MUExNTtcbiAgICAgIGNvbG9yOiAjODUxQTE1OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4NTFhMTU7XG4gICAgICAgIGNvbG9yOiAjODUxYTE1OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4NTFBMTU7XG4gICAgICAgICAgY29sb3I6ICM4NTFBMTU7IH1cbiAgLmJ1dHRvbi5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZFNkU2RDtcbiAgICBjb2xvcjogIzZFNkU2RDsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZTZlNmQ7XG4gICAgICBjb2xvcjogIzZlNmU2ZDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZFNkU2RDtcbiAgICAgICAgY29sb3I6ICM2RTZFNkQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZFNkU2RDtcbiAgICAgIGNvbG9yOiAjNkU2RTZEOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZlNmU2ZDtcbiAgICAgICAgY29sb3I6ICM2ZTZlNmQ7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RTZFNkQ7XG4gICAgICAgICAgY29sb3I6ICM2RTZFNkQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0M4QUU3MDtcbiAgICAgIGNvbG9yOiAjQzhBRTcwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOGFlNzA7XG4gICAgICAgIGNvbG9yOiAjYzhhZTcwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDOEFFNzA7XG4gICAgICAgICAgY29sb3I6ICNDOEFFNzA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzRTUxNkU7XG4gICAgICBjb2xvcjogIzNFNTE2RTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzZTUxNmU7XG4gICAgICAgIGNvbG9yOiAjM2U1MTZlOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM0U1MTZFO1xuICAgICAgICAgIGNvbG9yOiAjM0U1MTZFOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzg1MUExNTtcbiAgICAgIGNvbG9yOiAjODUxQTE1OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODUxYTE1O1xuICAgICAgICBjb2xvcjogIzg1MWExNTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4NTFBMTU7XG4gICAgICAgICAgY29sb3I6ICM4NTFBMTU7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNkU2RTZEOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNkU2RTZEOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNDOEFFNzA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzRTUxNkU7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjODUxQTE1OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4OyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICM4NTFBMTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmU3ZTc7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzg1MUExNTsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjODUxQTE1OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM4NTFBMTU7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4OyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjNkU2RTZEOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuNnJlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuNnJlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNkU2RTZEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDsgfVxuICAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM2RTZFNkQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzZFNkU2RDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICM2RTZFNkQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogI0M4QUU3MDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNFNTE2RTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICM4NTFBMTU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1NztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDOEFFNzA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiNDkzNDU7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNFNTE2RTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI0MTU4O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTFBMTU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmExNTExO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDEwdnc7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZTllOTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2YzZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZTRlZDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkM2QxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjZyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lnh4bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzZFNkU2RDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzZFNkU2RDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuNnJlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC42cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzZFNkU2RDsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNkU2RTZEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzZFNkU2RCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudSBhIHtcbiAgcGFkZGluZzogMC42cmVtIDFyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2RTZFNkQ7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzZFNkU2RCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNkU2RTZEOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM2RTZFNkQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNkU2RTZEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzZFNkU2RDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzZFNkU2RCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNkU2RTZEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNkU2RTZEOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM2RTZFNkQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNkU2RTZEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzZFNkU2RDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzZFNkU2RCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzZFNkU2RCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNkU2RTZEOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMXJlbTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzZFNkU2RCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNkU2RTZEOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzZFNkU2RDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICM2RTZFNkQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogI0M4QUU3MDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNFNTE2RTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICM4NTFBMTU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzZFNkU2RDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RDsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0M4QUU3MDsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTUxNkU7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTFBMTU7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWQ7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogNHJlbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNkU2RTZEOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDAuODc1cmVtIDAuODc1cmVtIDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDAuODc1cmVtIDAuODc1cmVtIDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjg3NXJlbSAwLjg3NXJlbSAwLjg3NXJlbSAwLjg3NXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM2RTZFNkQ7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM2OTY5Njg7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzZFNkU2RDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICM1ZjVmNWU7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjNkU2RTZEOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAzcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDExMCwgMTEwLCAxMDksIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUuMzEyNWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUuMzEyNWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUuMzEyNWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLyogQGdyb3VwIENVU1RPTSBpbXBvcnRzICovXG5odG1sIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJvZHkge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1IHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuc2Fucy1ib2xkJzsgfVxuXG4uZXh0cmEtYm9sZCB7XG4gIGZvbnQtZmFtaWx5OiAnb3BlbnNhbnMtZXh0cmEtYm9sZCc7IH1cblxuLmV4cGFuZGVkLWJhY2tncm91bmQtY29sb3Ige1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuZXhwYW5kZWQtYmFja2dyb3VuZC1jb2xvciBoMjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjQpICFpbXBvcnRhbnQ7IH1cblxuYTpmb2N1cy12aXNpYmxlLFxuYTpmb2N1cy12aXNpYmxlIGltZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnJvdzpub3QoaGVhZGVyKSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5ib2R5IC5tYWluLWNvbnRlbnQgLnNob3ctZm9yLXNyIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnJvdy5leHBhbmRlZCxcbiAgLnJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyxcbiAgICAucm93IC5yb3cge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5yb3cuZXhwYW5kZWQsXG4gIC5yb3cge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAucm93LmV4cGFuZGVkLFxuICAucm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAucm93LmV4cGFuZGVkLFxuICAucm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucm93ID4gLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtOyB9IH1cblxuLnJvdzpub3QoLnJvdy1vcmRlcikgPiAucm93ID4gLmNvbHVtbnMubGFyZ2UtNjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ucm93Om5vdCgucm93LW9yZGVyKSA+IC5yb3cgPiAuY29sdW1ucy5sYXJnZS02Omxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5yb3cucm93LW9yZGVyID4gLnJvdyA+IC5jb2x1bW5zLmxhcmdlLTY6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5yb3cucm93LW9yZGVyID4gLnJvdyA+IC5jb2x1bW5zLmxhcmdlLTY6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ucm93ID4gLnJvdyA+IC5jb2x1bW5zLmxhcmdlLTEyIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAucm93ID4gLnJvdyA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuaDIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIGgyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbmZpZ3VyZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIGZpZ3VyZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5za2lwLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnNraXAtbGluayB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2tpcC1saW5rIHVsIGxpIGEge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDBweDtcbiAgICByaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDOEFFNzA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB6LWluZGV4OiAwOyB9XG4gICAgLnNraXAtbGluayB1bCBsaSBhOmZvY3VzIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogMTAyNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yb3cge1xuICAgICAgcGFkZGluZzogMCAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5yb3cge1xuICAgICAgcGFkZGluZzogMCAxcmVtOyB9IH1cblxuLnBhZ2UtaG9tZSBwLnB1bGwtcXVvdGUge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDU2cHgpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1ob21lIHAucHVsbC1xdW90ZSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTsgfSB9XG5cbnAucHVsbC1xdW90ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBwLnB1bGwtcXVvdGUgaDIge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IH0gfVxuICBwLnB1bGwtcXVvdGUgLm5hbWUtc3VybmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgcC5wdWxsLXF1b3RlIC5qb2Ige1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4uaW5uZXItcGFnZSBwLnB1bGwtcXVvdGUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNHJlbTsgfSB9XG4gIC5pbm5lci1wYWdlIHAucHVsbC1xdW90ZS5wdWxsLXF1b3RlLWZpbGwge1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5pbm5lci1wYWdlIHAucHVsbC1xdW90ZS5wdWxsLXF1b3RlLWZpbGwgLm5hbWUtc3VybmFtZTpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZmVmZWZlOyB9XG5cbi5jZW50ZXItY29sdW1uLXgtYXhpcyB7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNlbnRlci1jb2x1bW4teC1zbWFsbCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuY2VudGVyLWNvbHVtbi14LW1lZGl1bS1kb3duIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLmFsaWduLW1pZGRsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5hbGlnbi1taWRkbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5hbGlnbi1taWRkbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAuYWxpZ24tbWlkZGxlIHtcbiAgICAgIC8qIElFMTArIHNwZWNpZmljIHN0eWxlcyBnbyBoZXJlICovXG4gICAgICB3aWR0aDogODAlOyB9IH1cblxuLnJlZ2lvbi1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vYXNzZXRzL2ltZy9zaWduYXR1cmUuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmVnaW9uLWJhY2tncm91bmQtaW1hZ2UuZnVsbC1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9XG4gICAgLnJlZ2lvbi1iYWNrZ3JvdW5kLWltYWdlLmZ1bGwtYmFja2dyb3VuZC1pbWFnZSAucm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAucmVnaW9uLWJhY2tncm91bmQtaW1hZ2UgLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OyB9XG4gIC5yZWdpb24tYmFja2dyb3VuZC1pbWFnZTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gICAgei1pbmRleDogMDsgfVxuXG4uaW1nLWZ1bGwtYmFubmVyIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5pbWctZnVsbC1iYW5uZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucmVnaW9uLWJhY2tncm91bmQge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZy10b3A6IDMuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5pY29uOmJlZm9yZSwgLnJlZ2lvbi1iYWNrZ3JvdW5kIGhlYWRlciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUsIGhlYWRlciAucmVnaW9uLWJhY2tncm91bmQgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlLFxuICAucmVnaW9uLWJhY2tncm91bmQgLmljb246YWZ0ZXIsXG4gIC5yZWdpb24tYmFja2dyb3VuZCBoZWFkZXIgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsXG4gIGhlYWRlciAucmVnaW9uLWJhY2tncm91bmQgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuICAucmVnaW9uLWJhY2tncm91bmQgaDI6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmU7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gIC5yZWdpb24tYmFja2dyb3VuZCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAucmVnaW9uLWJhY2tncm91bmQgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5idXR0b246aG92ZXIsIC5yZWdpb24tYmFja2dyb3VuZCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmVmZWZlOyB9XG5cbi5ibG9jay1ib3JkZXItbGVmdCxcbi5ibG9jay1ib3JkZXItcmlnaHQsXG4uYmxvY2stYm9yZGVyLWJvdHRvbSB7XG4gIHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAycmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvY2stYm9yZGVyLWxlZnQ6YmVmb3JlLFxuICAuYmxvY2stYm9yZGVyLXJpZ2h0OmJlZm9yZSxcbiAgLmJsb2NrLWJvcmRlci1ib3R0b206YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMS4yNXJlbTtcbiAgICBib3R0b206IC0xLjZyZW07XG4gICAgei1pbmRleDogMzsgfVxuICAuYmxvY2stYm9yZGVyLWxlZnQuaWNvbi1zZWFyY2gtaGlnaGxpZ2h0OmFmdGVyLFxuICAuYmxvY2stYm9yZGVyLXJpZ2h0Lmljb24tc2VhcmNoLWhpZ2hsaWdodDphZnRlcixcbiAgLmJsb2NrLWJvcmRlci1ib3R0b20uaWNvbi1zZWFyY2gtaGlnaGxpZ2h0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xLjRyZW07XG4gICAgYm90dG9tOiAtMC44NnJlbTtcbiAgICB3aWR0aDogMy4ycmVtO1xuICAgIGhlaWdodDogMy4ycmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogNXJlbTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5ibG9jay1ib3JkZXItbGVmdCBwOmxhc3QtY2hpbGQsXG4gIC5ibG9jay1ib3JkZXItcmlnaHQgcDpsYXN0LWNoaWxkLFxuICAuYmxvY2stYm9yZGVyLWJvdHRvbSBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07IH1cblxuLnBhZ2UtaG9tZSAubWFpbi1jb250ZW50IGEge1xuICBjb2xvcjogI0ZGQ0RGQTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wYWdlLWhvbWUgLm1haW4tY29udGVudCBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQ0RGQTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGQ0RGQTsgfVxuXG4ucGFnZS1ob21lLmlubmVyLXBhZ2UgaDI6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjRkZDREZBOyB9XG5cbi5wYWdlLWhvbWUgLm1haW4tY29udGVudCAuYnV0dG9uLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDREZBOyB9XG4gIC5wYWdlLWhvbWUgLm1haW4tY29udGVudCAuYnV0dG9uLnByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmE5ZjY7IH1cblxuLnBhZ2UtaG9tZSAucmVnaW9uLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDREZBOyB9XG5cbi5wYWdlLWhvbWUgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5idXR0b24ge1xuICBjb2xvcjogI0ZGQ0RGQTsgfVxuXG4ucGFnZS1ob21lIC5yZWdpb24tYmFja2dyb3VuZC1pbWFnZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZDREZBOyB9XG5cbi5wYWdlLWhvbWUuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGUge1xuICBib3JkZXItbGVmdDogMC4yNXJlbSBzb2xpZCAjRkZDREZBOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1ob21lLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwLjVyZW0gc29saWQgI0ZGQ0RGQTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAucGFnZS1ob21lLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcmVtIHNvbGlkICNGRkNERkE7IH0gfVxuXG4ucGFnZS1ob21lLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKSAubmFtZS1zdXJuYW1lOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI0ZGQ0RGQTsgfVxuXG4ucGFnZS1ob21lLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTpiZWZvcmUsXG4ucGFnZS1ob21lLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTphZnRlciB7XG4gIGNvbG9yOiAjRkZDREZBOyB9XG5cbi5wYWdlLWhvbWUuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGUucHVsbC1xdW90ZS1maWxsIHtcbiAgYm9yZGVyLWxlZnQ6IDFyZW0gc29saWQgcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjMpO1xuICBiYWNrZ3JvdW5kOiAjRkZDREZBOyB9XG5cbi5wYWdlLWhvbWUgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNGRkNERkE7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNGRkNERkE7IH1cbiAgLnBhZ2UtaG9tZSAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY5YWY1OyB9XG4gIC5wYWdlLWhvbWUgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNGRkNERkE7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4ucGFnZS1ob21lIC5vcmJpdCBidXR0b24ub3JiaXQtcHJldmlvdXMsXG4ucGFnZS1ob21lIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dCxcbi5wYWdlLWhvbWUgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZSxcbi5wYWdlLWhvbWUgLm9yYml0IGJ1dHRvbi5vcmJpdC1wbGF5IHtcbiAgY29sb3I6ICNGRkNERkE7IH1cbiAgLnBhZ2UtaG9tZSAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmhvdmVyLFxuICAucGFnZS1ob21lIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDpob3ZlcixcbiAgLnBhZ2UtaG9tZSAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmhvdmVyLFxuICAucGFnZS1ob21lIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZDREZBOyB9XG4gIC5wYWdlLWhvbWUgLm9yYml0IGJ1dHRvbi5vcmJpdC1wcmV2aW91czphY3RpdmUsXG4gIC5wYWdlLWhvbWUgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmFjdGl2ZSxcbiAgLnBhZ2UtaG9tZSAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmFjdGl2ZSxcbiAgLnBhZ2UtaG9tZSAub3JiaXQgYnV0dG9uLm9yYml0LXBsYXk6YWN0aXZlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZDREZBOyB9XG4gIC5wYWdlLWhvbWUgLm9yYml0IGJ1dHRvbi5vcmJpdC1wcmV2aW91czpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1ob21lIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1ob21lIC5vcmJpdCBidXR0b24ub3JiaXQtcGF1c2U6Zm9jdXMtdmlzaWJsZSxcbiAgLnBhZ2UtaG9tZSAub3JiaXQgYnV0dG9uLm9yYml0LXBsYXk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6ICNGRkNERkE7IH1cblxuLnBhZ2UtaG9tZSBsaS5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkZDREZBOyB9XG5cbi5wYWdlLWhvbWUgLmluZm9ncmFwaC1ncm91cCAuaWNvbjpiZWZvcmUsIC5wYWdlLWhvbWUgLmluZm9ncmFwaC1ncm91cCBoZWFkZXIgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlLCBoZWFkZXIgLnBhZ2UtaG9tZSAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSxcbi5wYWdlLWhvbWUgLmluZm9ncmFwaC1ncm91cCAuaWNvbjphZnRlcixcbi5wYWdlLWhvbWUgLmluZm9ncmFwaC1ncm91cCBoZWFkZXIgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsXG5oZWFkZXIgLnBhZ2UtaG9tZSAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29sb3I6ICNGRkNERkE7IH1cblxuLnBhZ2UtaG9tZSAuaW5mb2dyYXBoLWdyb3VwLWhvciAuaW5mb2dyYXBoLXJvdyB7XG4gIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCAjY2VhOTc0OyB9XG5cbi5wYWdlLWhvbWUgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lciAuaW5mb2dyYXBoLWljb246YmVmb3JlIHtcbiAgY29sb3I6ICNGRkNERkE7IH1cblxuLnBhZ2UtaG9tZSAuaW5mb2dyYXBoLWdyb3VwOm5vdCguaW5mb2dyYXBoLWdyb3VwLWhvcikge1xuICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICNGRkNERkE7IH1cblxuLnBhZ2UtaG9tZSAuYmxvY2stYm9yZGVyLWxlZnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOWUyO1xuICBib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2UtaG9tZSAuYmxvY2stYm9yZGVyLXJpZ2h0IHtcbiAgYmFja2dyb3VuZDogI2U0ZWZmODtcbiAgYm9yZGVyLXJpZ2h0OiAwLjJyZW0gc29saWQgIzdjOGZiMTsgfVxuXG4ucGFnZS1ob21lIC5ibG9jay1ib3JkZXItYm90dG9tIHtcbiAgYmFja2dyb3VuZDogI2VlZTllMjtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2UtaG9tZSB1bC5mb2N1cy1hbmNob3JzIGxpIGEge1xuICBjb2xvcjogI0ZGQ0RGQTsgfVxuXG4ucGFnZS1ob21lIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXI6bnRoLWNoaWxkKG9kZCkgLmluZm9ncmFwaGljLXJvdy10YWJsZSB7XG4gIGJhY2tncm91bmQ6IHdoaXRlOyB9XG5cbi5wYWdlLXNlY3Rpb24tMSAubWFpbi1jb250ZW50IGEge1xuICBjb2xvcjogIzY4NEYwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wYWdlLXNlY3Rpb24tMSAubWFpbi1jb250ZW50IGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tMSAuZnVsbC1wYWdlLWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODRGMDA7IH1cbiAgLnBhZ2Utc2VjdGlvbi0xIC5mdWxsLXBhZ2UtYmFubmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzY4NEYwMDsgfVxuXG4ucGFnZS1zZWN0aW9uLTEuaW5uZXItcGFnZSBoMjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2ODRGMDA7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5tYWluLWNvbnRlbnQgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4NEYwMDsgfVxuICAucGFnZS1zZWN0aW9uLTEgLm1haW4tY29udGVudCAuYnV0dG9uLnByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDM0MDA7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5yZWdpb24tYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODRGMDA7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5yZWdpb24tYmFja2dyb3VuZCAuYnV0dG9uIHtcbiAgY29sb3I6ICM2ODRGMDA7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5yZWdpb24tYmFja2dyb3VuZC1pbWFnZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNjg0RjAwOyB9XG5cbi5wYWdlLXNlY3Rpb24tMS5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkICM2ODRGMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXNlY3Rpb24tMS5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gICAgICBib3JkZXItbGVmdDogMC41cmVtIHNvbGlkICM2ODRGMDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2Utc2VjdGlvbi0xLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcmVtIHNvbGlkICM2ODRGMDA7IH0gfVxuXG4ucGFnZS1zZWN0aW9uLTEuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGU6bm90KC5wdWxsLXF1b3RlLWZpbGwpIC5uYW1lLXN1cm5hbWU6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjg0RjAwOyB9XG5cbi5wYWdlLXNlY3Rpb24tMS5pbm5lci1wYWdlIHAucHVsbC1xdW90ZTpub3QoLnB1bGwtcXVvdGUtZmlsbCk6YmVmb3JlLFxuLnBhZ2Utc2VjdGlvbi0xLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTphZnRlciB7XG4gIGNvbG9yOiAjNjg0RjAwOyB9XG5cbi5wYWdlLXNlY3Rpb24tMS5pbm5lci1wYWdlIHAucHVsbC1xdW90ZS5wdWxsLXF1b3RlLWZpbGwge1xuICBib3JkZXItbGVmdDogMXJlbSBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMyk7XG4gIGJhY2tncm91bmQ6ICM2ODRGMDA7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5vcmJpdCBuYXYub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNjg0RjAwO1xuICBib3JkZXI6IDRweCBzb2xpZCAjNjg0RjAwOyB9XG4gIC5wYWdlLXNlY3Rpb24tMSAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzUyODAwOyB9XG4gIC5wYWdlLXNlY3Rpb24tMSAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzY4NEYwMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tMSAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzLFxuLnBhZ2Utc2VjdGlvbi0xIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dCxcbi5wYWdlLXNlY3Rpb24tMSAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlLFxuLnBhZ2Utc2VjdGlvbi0xIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheSB7XG4gIGNvbG9yOiAjNjg0RjAwOyB9XG4gIC5wYWdlLXNlY3Rpb24tMSAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTEgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTEgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpob3ZlcixcbiAgLnBhZ2Utc2VjdGlvbi0xIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjg0RjAwOyB9XG4gIC5wYWdlLXNlY3Rpb24tMSAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi0xIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDphY3RpdmUsXG4gIC5wYWdlLXNlY3Rpb24tMSAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi0xIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTphY3RpdmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2ODRGMDA7IH1cbiAgLnBhZ2Utc2VjdGlvbi0xIC5vcmJpdCBidXR0b24ub3JiaXQtcHJldmlvdXM6Zm9jdXMtdmlzaWJsZSxcbiAgLnBhZ2Utc2VjdGlvbi0xIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTEgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTEgLm9yYml0IGJ1dHRvbi5vcmJpdC1wbGF5OmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiAjNjg0RjAwOyB9XG5cbi5wYWdlLXNlY3Rpb24tMSBsaS5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjg0RjAwOyB9XG5cbi5wYWdlLXNlY3Rpb24tMSAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmJlZm9yZSwgLnBhZ2Utc2VjdGlvbi0xIC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgaGVhZGVyIC5wYWdlLXNlY3Rpb24tMSAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSxcbi5wYWdlLXNlY3Rpb24tMSAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmFmdGVyLFxuLnBhZ2Utc2VjdGlvbi0xIC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLFxuaGVhZGVyIC5wYWdlLXNlY3Rpb24tMSAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29sb3I6ICM2ODRGMDA7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5pbmZvZ3JhcGgtZ3JvdXAtaG9yIC5pbmZvZ3JhcGgtcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjNjg0RjAwOyB9XG5cbi5wYWdlLXNlY3Rpb24tMSAuaW5mb2dyYXBoLWdyb3VwOm5vdCguaW5mb2dyYXBoLWdyb3VwLWhvcikge1xuICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICM2ODRGMDA7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5ibG9jay1ib3JkZXItbGVmdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU5ZTI7XG4gIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgI2NlYTk3NDsgfVxuXG4ucGFnZS1zZWN0aW9uLTEgLmJsb2NrLWJvcmRlci1yaWdodCB7XG4gIGJhY2tncm91bmQ6ICNlNGVmZjg7XG4gIGJvcmRlci1yaWdodDogMC4ycmVtIHNvbGlkICM3YzhmYjE7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5ibG9jay1ib3JkZXItYm90dG9tIHtcbiAgYmFja2dyb3VuZDogI2VlZTllMjtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIHVsLmZvY3VzLWFuY2hvcnMgbGkgYSB7XG4gIGNvbG9yOiAjNjg0RjAwOyB9XG5cbi5wYWdlLXNlY3Rpb24tMSAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyOm50aC1jaGlsZChvZGQpIC5pbmZvZ3JhcGhpYy1yb3ctdGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZmZlNTkxOyB9XG5cbi5wYWdlLXNlY3Rpb24tMiAubWFpbi1jb250ZW50IGEge1xuICBjb2xvcjogIzY1NTEzOTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wYWdlLXNlY3Rpb24tMiAubWFpbi1jb250ZW50IGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tMiAuZnVsbC1wYWdlLWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NTUxMzk7IH1cbiAgLnBhZ2Utc2VjdGlvbi0yIC5mdWxsLXBhZ2UtYmFubmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzY1NTEzOTsgfVxuXG4ucGFnZS1zZWN0aW9uLTIuaW5uZXItcGFnZSBoMjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2NTUxMzk7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5tYWluLWNvbnRlbnQgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NTEzOTsgfVxuICAucGFnZS1zZWN0aW9uLTIgLm1haW4tY29udGVudCAuYnV0dG9uLnByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZTNmMmM7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5yZWdpb24tYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NTUxMzk7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5yZWdpb24tYmFja2dyb3VuZCAuYnV0dG9uIHtcbiAgY29sb3I6ICM2NTUxMzk7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5yZWdpb24tYmFja2dyb3VuZC1pbWFnZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNjU1MTM5OyB9XG5cbi5wYWdlLXNlY3Rpb24tMi5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkICM2NTUxMzk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXNlY3Rpb24tMi5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gICAgICBib3JkZXItbGVmdDogMC41cmVtIHNvbGlkICM2NTUxMzk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2Utc2VjdGlvbi0yLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcmVtIHNvbGlkICM2NTUxMzk7IH0gfVxuXG4ucGFnZS1zZWN0aW9uLTIuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGU6bm90KC5wdWxsLXF1b3RlLWZpbGwpIC5uYW1lLXN1cm5hbWU6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjU1MTM5OyB9XG5cbi5wYWdlLXNlY3Rpb24tMi5pbm5lci1wYWdlIHAucHVsbC1xdW90ZTpub3QoLnB1bGwtcXVvdGUtZmlsbCk6YmVmb3JlLFxuLnBhZ2Utc2VjdGlvbi0yLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTphZnRlciB7XG4gIGNvbG9yOiAjNjU1MTM5OyB9XG5cbi5wYWdlLXNlY3Rpb24tMi5pbm5lci1wYWdlIHAucHVsbC1xdW90ZS5wdWxsLXF1b3RlLWZpbGwge1xuICBib3JkZXItbGVmdDogMXJlbSBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMyk7XG4gIGJhY2tncm91bmQ6ICM2NTUxMzk7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5vcmJpdCBuYXYub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNjU1MTM5O1xuICBib3JkZXI6IDRweCBzb2xpZCAjNjU1MTM5OyB9XG4gIC5wYWdlLXNlY3Rpb24tMiAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDQzNzI3OyB9XG4gIC5wYWdlLXNlY3Rpb24tMiAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzY1NTEzOTtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tMiAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzLFxuLnBhZ2Utc2VjdGlvbi0yIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dCxcbi5wYWdlLXNlY3Rpb24tMiAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlLFxuLnBhZ2Utc2VjdGlvbi0yIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheSB7XG4gIGNvbG9yOiAjNjU1MTM5OyB9XG4gIC5wYWdlLXNlY3Rpb24tMiAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTIgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTIgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpob3ZlcixcbiAgLnBhZ2Utc2VjdGlvbi0yIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjU1MTM5OyB9XG4gIC5wYWdlLXNlY3Rpb24tMiAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi0yIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDphY3RpdmUsXG4gIC5wYWdlLXNlY3Rpb24tMiAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi0yIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTphY3RpdmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NTUxMzk7IH1cbiAgLnBhZ2Utc2VjdGlvbi0yIC5vcmJpdCBidXR0b24ub3JiaXQtcHJldmlvdXM6Zm9jdXMtdmlzaWJsZSxcbiAgLnBhZ2Utc2VjdGlvbi0yIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTIgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTIgLm9yYml0IGJ1dHRvbi5vcmJpdC1wbGF5OmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiAjNjU1MTM5OyB9XG5cbi5wYWdlLXNlY3Rpb24tMiBsaS5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjU1MTM5OyB9XG5cbi5wYWdlLXNlY3Rpb24tMiAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmJlZm9yZSwgLnBhZ2Utc2VjdGlvbi0yIC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgaGVhZGVyIC5wYWdlLXNlY3Rpb24tMiAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSxcbi5wYWdlLXNlY3Rpb24tMiAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmFmdGVyLFxuLnBhZ2Utc2VjdGlvbi0yIC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLFxuaGVhZGVyIC5wYWdlLXNlY3Rpb24tMiAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29sb3I6ICM2NTUxMzk7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5pbmZvZ3JhcGgtZ3JvdXAtaG9yIC5pbmZvZ3JhcGgtcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjNjU1MTM5OyB9XG5cbi5wYWdlLXNlY3Rpb24tMiAuaW5mb2dyYXBoLWdyb3VwOm5vdCguaW5mb2dyYXBoLWdyb3VwLWhvcikge1xuICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICM2NTUxMzk7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5ibG9jay1ib3JkZXItbGVmdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU5ZTI7XG4gIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgI2NlYTk3NDsgfVxuXG4ucGFnZS1zZWN0aW9uLTIgLmJsb2NrLWJvcmRlci1yaWdodCB7XG4gIGJhY2tncm91bmQ6ICNlNGVmZjg7XG4gIGJvcmRlci1yaWdodDogMC4ycmVtIHNvbGlkICM3YzhmYjE7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5ibG9jay1ib3JkZXItYm90dG9tIHtcbiAgYmFja2dyb3VuZDogI2VlZTllMjtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi0yIHVsLmZvY3VzLWFuY2hvcnMgbGkgYSB7XG4gIGNvbG9yOiAjNjU1MTM5OyB9XG5cbi5wYWdlLXNlY3Rpb24tMiAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyOm50aC1jaGlsZChvZGQpIC5pbmZvZ3JhcGhpYy1yb3ctdGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZWJlNGRiOyB9XG5cbi5wYWdlLXNlY3Rpb24tMyAubWFpbi1jb250ZW50IGEge1xuICBjb2xvcjogIzczNDg1QztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wYWdlLXNlY3Rpb24tMyAubWFpbi1jb250ZW50IGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tMyAuZnVsbC1wYWdlLWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MzQ4NUM7IH1cbiAgLnBhZ2Utc2VjdGlvbi0zIC5mdWxsLXBhZ2UtYmFubmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzczNDg1QzsgfVxuXG4ucGFnZS1zZWN0aW9uLTMuaW5uZXItcGFnZSBoMjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM3MzQ4NUM7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5tYWluLWNvbnRlbnQgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNDg1QzsgfVxuICAucGFnZS1zZWN0aW9uLTMgLm1haW4tY29udGVudCAuYnV0dG9uLnByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZDNhNGE7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5yZWdpb24tYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MzQ4NUM7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5yZWdpb24tYmFja2dyb3VuZCAuYnV0dG9uIHtcbiAgY29sb3I6ICM3MzQ4NUM7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5yZWdpb24tYmFja2dyb3VuZC1pbWFnZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNzM0ODVDOyB9XG5cbi5wYWdlLXNlY3Rpb24tMy5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkICM3MzQ4NUM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXNlY3Rpb24tMy5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gICAgICBib3JkZXItbGVmdDogMC41cmVtIHNvbGlkICM3MzQ4NUM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2Utc2VjdGlvbi0zLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcmVtIHNvbGlkICM3MzQ4NUM7IH0gfVxuXG4ucGFnZS1zZWN0aW9uLTMuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGU6bm90KC5wdWxsLXF1b3RlLWZpbGwpIC5uYW1lLXN1cm5hbWU6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzM0ODVDOyB9XG5cbi5wYWdlLXNlY3Rpb24tMy5pbm5lci1wYWdlIHAucHVsbC1xdW90ZTpub3QoLnB1bGwtcXVvdGUtZmlsbCk6YmVmb3JlLFxuLnBhZ2Utc2VjdGlvbi0zLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTphZnRlciB7XG4gIGNvbG9yOiAjNzM0ODVDOyB9XG5cbi5wYWdlLXNlY3Rpb24tMy5pbm5lci1wYWdlIHAucHVsbC1xdW90ZS5wdWxsLXF1b3RlLWZpbGwge1xuICBib3JkZXItbGVmdDogMXJlbSBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMyk7XG4gIGJhY2tncm91bmQ6ICM3MzQ4NUM7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5vcmJpdCBuYXYub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNzM0ODVDO1xuICBib3JkZXI6IDRweCBzb2xpZCAjNzM0ODVDOyB9XG4gIC5wYWdlLXNlY3Rpb24tMyAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTQzNDQzOyB9XG4gIC5wYWdlLXNlY3Rpb24tMyAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzczNDg1QztcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tMyAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzLFxuLnBhZ2Utc2VjdGlvbi0zIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dCxcbi5wYWdlLXNlY3Rpb24tMyAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlLFxuLnBhZ2Utc2VjdGlvbi0zIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheSB7XG4gIGNvbG9yOiAjNzM0ODVDOyB9XG4gIC5wYWdlLXNlY3Rpb24tMyAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTMgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTMgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpob3ZlcixcbiAgLnBhZ2Utc2VjdGlvbi0zIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzM0ODVDOyB9XG4gIC5wYWdlLXNlY3Rpb24tMyAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi0zIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDphY3RpdmUsXG4gIC5wYWdlLXNlY3Rpb24tMyAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi0zIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTphY3RpdmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MzQ4NUM7IH1cbiAgLnBhZ2Utc2VjdGlvbi0zIC5vcmJpdCBidXR0b24ub3JiaXQtcHJldmlvdXM6Zm9jdXMtdmlzaWJsZSxcbiAgLnBhZ2Utc2VjdGlvbi0zIC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTMgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTMgLm9yYml0IGJ1dHRvbi5vcmJpdC1wbGF5OmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiAjNzM0ODVDOyB9XG5cbi5wYWdlLXNlY3Rpb24tMyBsaS5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzM0ODVDOyB9XG5cbi5wYWdlLXNlY3Rpb24tMyAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmJlZm9yZSwgLnBhZ2Utc2VjdGlvbi0zIC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgaGVhZGVyIC5wYWdlLXNlY3Rpb24tMyAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSxcbi5wYWdlLXNlY3Rpb24tMyAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmFmdGVyLFxuLnBhZ2Utc2VjdGlvbi0zIC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLFxuaGVhZGVyIC5wYWdlLXNlY3Rpb24tMyAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29sb3I6ICM3MzQ4NUM7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5pbmZvZ3JhcGgtZ3JvdXAtaG9yIC5pbmZvZ3JhcGgtcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjNzM0ODVDOyB9XG5cbi5wYWdlLXNlY3Rpb24tMyAuaW5mb2dyYXBoLWdyb3VwOm5vdCguaW5mb2dyYXBoLWdyb3VwLWhvcikge1xuICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICM3MzQ4NUM7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5ibG9jay1ib3JkZXItbGVmdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU5ZTI7XG4gIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgI2NlYTk3NDsgfVxuXG4ucGFnZS1zZWN0aW9uLTMgLmJsb2NrLWJvcmRlci1yaWdodCB7XG4gIGJhY2tncm91bmQ6ICNlNGVmZjg7XG4gIGJvcmRlci1yaWdodDogMC4ycmVtIHNvbGlkICM3YzhmYjE7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIC5ibG9jay1ib3JkZXItYm90dG9tIHtcbiAgYmFja2dyb3VuZDogI2VlZTllMjtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi0zIHVsLmZvY3VzLWFuY2hvcnMgbGkgYSB7XG4gIGNvbG9yOiAjNzM0ODVDOyB9XG5cbi5wYWdlLXNlY3Rpb24tMyAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyOm50aC1jaGlsZChvZGQpIC5pbmZvZ3JhcGhpYy1yb3ctdGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZjVlZWYxOyB9XG5cbi5wYWdlLXNlY3Rpb24tNCAubWFpbi1jb250ZW50IGEge1xuICBjb2xvcjogIzQ1NUUxQztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wYWdlLXNlY3Rpb24tNCAubWFpbi1jb250ZW50IGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tNCAuZnVsbC1wYWdlLWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NTVFMUM7IH1cbiAgLnBhZ2Utc2VjdGlvbi00IC5mdWxsLXBhZ2UtYmFubmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQ1NUUxQzsgfVxuXG4ucGFnZS1zZWN0aW9uLTQuaW5uZXItcGFnZSBoMjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM0NTVFMUM7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5tYWluLWNvbnRlbnQgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NUUxQzsgfVxuICAucGFnZS1zZWN0aW9uLTQgLm1haW4tY29udGVudCAuYnV0dG9uLnByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTQyMTQ7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5yZWdpb24tYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NTVFMUM7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5yZWdpb24tYmFja2dyb3VuZCAuYnV0dG9uIHtcbiAgY29sb3I6ICM0NTVFMUM7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5yZWdpb24tYmFja2dyb3VuZC1pbWFnZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNDU1RTFDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNC5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkICM0NTVFMUM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXNlY3Rpb24tNC5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gICAgICBib3JkZXItbGVmdDogMC41cmVtIHNvbGlkICM0NTVFMUM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2Utc2VjdGlvbi00LmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcmVtIHNvbGlkICM0NTVFMUM7IH0gfVxuXG4ucGFnZS1zZWN0aW9uLTQuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGU6bm90KC5wdWxsLXF1b3RlLWZpbGwpIC5uYW1lLXN1cm5hbWU6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDU1RTFDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNC5pbm5lci1wYWdlIHAucHVsbC1xdW90ZTpub3QoLnB1bGwtcXVvdGUtZmlsbCk6YmVmb3JlLFxuLnBhZ2Utc2VjdGlvbi00LmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTphZnRlciB7XG4gIGNvbG9yOiAjNDU1RTFDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNC5pbm5lci1wYWdlIHAucHVsbC1xdW90ZS5wdWxsLXF1b3RlLWZpbGwge1xuICBib3JkZXItbGVmdDogMXJlbSBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMyk7XG4gIGJhY2tncm91bmQ6ICM0NTVFMUM7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5vcmJpdCBuYXYub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNDU1RTFDO1xuICBib3JkZXI6IDRweCBzb2xpZCAjNDU1RTFDOyB9XG4gIC5wYWdlLXNlY3Rpb24tNCAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjgzNzEwOyB9XG4gIC5wYWdlLXNlY3Rpb24tNCAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzQ1NUUxQztcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tNCAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzLFxuLnBhZ2Utc2VjdGlvbi00IC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dCxcbi5wYWdlLXNlY3Rpb24tNCAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlLFxuLnBhZ2Utc2VjdGlvbi00IC5vcmJpdCBidXR0b24ub3JiaXQtcGxheSB7XG4gIGNvbG9yOiAjNDU1RTFDOyB9XG4gIC5wYWdlLXNlY3Rpb24tNCAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTQgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTQgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpob3ZlcixcbiAgLnBhZ2Utc2VjdGlvbi00IC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDU1RTFDOyB9XG4gIC5wYWdlLXNlY3Rpb24tNCAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi00IC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDphY3RpdmUsXG4gIC5wYWdlLXNlY3Rpb24tNCAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi00IC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTphY3RpdmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0NTVFMUM7IH1cbiAgLnBhZ2Utc2VjdGlvbi00IC5vcmJpdCBidXR0b24ub3JiaXQtcHJldmlvdXM6Zm9jdXMtdmlzaWJsZSxcbiAgLnBhZ2Utc2VjdGlvbi00IC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTQgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTQgLm9yYml0IGJ1dHRvbi5vcmJpdC1wbGF5OmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiAjNDU1RTFDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNCBsaS5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDU1RTFDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNCAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmJlZm9yZSwgLnBhZ2Utc2VjdGlvbi00IC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgaGVhZGVyIC5wYWdlLXNlY3Rpb24tNCAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSxcbi5wYWdlLXNlY3Rpb24tNCAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmFmdGVyLFxuLnBhZ2Utc2VjdGlvbi00IC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLFxuaGVhZGVyIC5wYWdlLXNlY3Rpb24tNCAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29sb3I6ICM0NTVFMUM7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5pbmZvZ3JhcGgtZ3JvdXAtaG9yIC5pbmZvZ3JhcGgtcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjNDU1RTFDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNCAuaW5mb2dyYXBoLWdyb3VwOm5vdCguaW5mb2dyYXBoLWdyb3VwLWhvcikge1xuICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICM0NTVFMUM7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5ibG9jay1ib3JkZXItbGVmdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU5ZTI7XG4gIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgI2NlYTk3NDsgfVxuXG4ucGFnZS1zZWN0aW9uLTQgLmJsb2NrLWJvcmRlci1yaWdodCB7XG4gIGJhY2tncm91bmQ6ICNlNGVmZjg7XG4gIGJvcmRlci1yaWdodDogMC4ycmVtIHNvbGlkICM3YzhmYjE7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5ibG9jay1ib3JkZXItYm90dG9tIHtcbiAgYmFja2dyb3VuZDogI2VlZTllMjtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi00IHVsLmZvY3VzLWFuY2hvcnMgbGkgYSB7XG4gIGNvbG9yOiAjNDU1RTFDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNCAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyOm50aC1jaGlsZChvZGQpIC5pbmZvZ3JhcGhpYy1yb3ctdGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZDdlYWI4OyB9XG5cbi5wYWdlLXNlY3Rpb24tNSAubWFpbi1jb250ZW50IGEge1xuICBjb2xvcjogIzdFNjAyQztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wYWdlLXNlY3Rpb24tNSAubWFpbi1jb250ZW50IGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tNSAuZnVsbC1wYWdlLWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3RTYwMkM7IH1cbiAgLnBhZ2Utc2VjdGlvbi01IC5mdWxsLXBhZ2UtYmFubmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzdFNjAyQzsgfVxuXG4ucGFnZS1zZWN0aW9uLTUuaW5uZXItcGFnZSBoMjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM3RTYwMkM7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5tYWluLWNvbnRlbnQgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdFNjAyQzsgfVxuICAucGFnZS1zZWN0aW9uLTUgLm1haW4tY29udGVudCAuYnV0dG9uLnByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NDRjMjM7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5yZWdpb24tYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3RTYwMkM7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5yZWdpb24tYmFja2dyb3VuZCAuYnV0dG9uIHtcbiAgY29sb3I6ICM3RTYwMkM7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5yZWdpb24tYmFja2dyb3VuZC1pbWFnZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjN0U2MDJDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNS5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkICM3RTYwMkM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXNlY3Rpb24tNS5pbm5lci1wYWdlIHAucHVsbC1xdW90ZSB7XG4gICAgICBib3JkZXItbGVmdDogMC41cmVtIHNvbGlkICM3RTYwMkM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2Utc2VjdGlvbi01LmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcmVtIHNvbGlkICM3RTYwMkM7IH0gfVxuXG4ucGFnZS1zZWN0aW9uLTUuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGU6bm90KC5wdWxsLXF1b3RlLWZpbGwpIC5uYW1lLXN1cm5hbWU6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjN0U2MDJDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNS5pbm5lci1wYWdlIHAucHVsbC1xdW90ZTpub3QoLnB1bGwtcXVvdGUtZmlsbCk6YmVmb3JlLFxuLnBhZ2Utc2VjdGlvbi01LmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTphZnRlciB7XG4gIGNvbG9yOiAjN0U2MDJDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNS5pbm5lci1wYWdlIHAucHVsbC1xdW90ZS5wdWxsLXF1b3RlLWZpbGwge1xuICBib3JkZXItbGVmdDogMXJlbSBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMyk7XG4gIGJhY2tncm91bmQ6ICM3RTYwMkM7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5vcmJpdCBuYXYub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjN0U2MDJDO1xuICBib3JkZXI6IDRweCBzb2xpZCAjN0U2MDJDOyB9XG4gIC5wYWdlLXNlY3Rpb24tNSAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTg0MzFmOyB9XG4gIC5wYWdlLXNlY3Rpb24tNSAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzdFNjAyQztcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5wYWdlLXNlY3Rpb24tNSAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzLFxuLnBhZ2Utc2VjdGlvbi01IC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dCxcbi5wYWdlLXNlY3Rpb24tNSAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlLFxuLnBhZ2Utc2VjdGlvbi01IC5vcmJpdCBidXR0b24ub3JiaXQtcGxheSB7XG4gIGNvbG9yOiAjN0U2MDJDOyB9XG4gIC5wYWdlLXNlY3Rpb24tNSAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTUgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmhvdmVyLFxuICAucGFnZS1zZWN0aW9uLTUgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpob3ZlcixcbiAgLnBhZ2Utc2VjdGlvbi01IC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjN0U2MDJDOyB9XG4gIC5wYWdlLXNlY3Rpb24tNSAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi01IC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDphY3RpdmUsXG4gIC5wYWdlLXNlY3Rpb24tNSAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmFjdGl2ZSxcbiAgLnBhZ2Utc2VjdGlvbi01IC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTphY3RpdmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3RTYwMkM7IH1cbiAgLnBhZ2Utc2VjdGlvbi01IC5vcmJpdCBidXR0b24ub3JiaXQtcHJldmlvdXM6Zm9jdXMtdmlzaWJsZSxcbiAgLnBhZ2Utc2VjdGlvbi01IC5vcmJpdCBidXR0b24ub3JiaXQtbmV4dDpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTUgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpmb2N1cy12aXNpYmxlLFxuICAucGFnZS1zZWN0aW9uLTUgLm9yYml0IGJ1dHRvbi5vcmJpdC1wbGF5OmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiAjN0U2MDJDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNSBsaS5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjN0U2MDJDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNSAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmJlZm9yZSwgLnBhZ2Utc2VjdGlvbi01IC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgaGVhZGVyIC5wYWdlLXNlY3Rpb24tNSAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSxcbi5wYWdlLXNlY3Rpb24tNSAuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmFmdGVyLFxuLnBhZ2Utc2VjdGlvbi01IC5pbmZvZ3JhcGgtZ3JvdXAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLFxuaGVhZGVyIC5wYWdlLXNlY3Rpb24tNSAuaW5mb2dyYXBoLWdyb3VwIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29sb3I6ICM3RTYwMkM7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5pbmZvZ3JhcGgtZ3JvdXAtaG9yIC5pbmZvZ3JhcGgtcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjN0U2MDJDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNSAuaW5mb2dyYXBoLWdyb3VwOm5vdCguaW5mb2dyYXBoLWdyb3VwLWhvcikge1xuICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICM3RTYwMkM7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5ibG9jay1ib3JkZXItbGVmdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU5ZTI7XG4gIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgI2NlYTk3NDsgfVxuXG4ucGFnZS1zZWN0aW9uLTUgLmJsb2NrLWJvcmRlci1yaWdodCB7XG4gIGJhY2tncm91bmQ6ICNlNGVmZjg7XG4gIGJvcmRlci1yaWdodDogMC4ycmVtIHNvbGlkICM3YzhmYjE7IH1cblxuLnBhZ2Utc2VjdGlvbi01IC5ibG9jay1ib3JkZXItYm90dG9tIHtcbiAgYmFja2dyb3VuZDogI2VlZTllMjtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICNjZWE5NzQ7IH1cblxuLnBhZ2Utc2VjdGlvbi01IHVsLmZvY3VzLWFuY2hvcnMgbGkgYSB7XG4gIGNvbG9yOiAjN0U2MDJDOyB9XG5cbi5wYWdlLXNlY3Rpb24tNSAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyOm50aC1jaGlsZChvZGQpIC5pbmZvZ3JhcGhpYy1yb3ctdGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZjRlY2RlOyB9XG5cbi5pbm5lci1wYWdlIGgyLmRhcmstYmx1ZS1oZWFkaW5nOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzMzNTI3MDsgfVxuXG5pZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5waG90by13aXRoLXRleHQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG4uYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gIC5idXR0b246YmVmb3JlLCAuYnV0dG9uOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuYnV0dG9uOmJlZm9yZSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTsgfVxuICAuYnV0dG9uOmJlZm9yZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5idXR0b246Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAycHggNXB4IDlweCAwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDJweCA1cHggOXB4IDBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICAgIGJveC1zaGFkb3c6IDJweCA1cHggOXB4IDBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpOyB9XG4gIC5idXR0b24uYnV0dG9uLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGNvbG9yOiAjNkU2RTZEO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDVweCA5cHggMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAycHggNXB4IDlweCAwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgICBib3gtc2hhZG93OiAycHggNXB4IDlweCAwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTsgfVxuICAuYnV0dG9uLmJ1dHRvbi13aGl0ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBjb2xvcjogI0M4QUU3MDsgfVxuICAuYnV0dG9uLmJ1dHRvbi13aGl0ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uYnV0dG9uLWdyb3VwLm5vLWdhcHMge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtIDJyZW0gMCAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMnJlbSAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW0gMCAwIDJyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7IH0gfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdjdnJpYS1pY29ucyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvY3ZyaWEtaWNvbnMvL2N2cmlhLndvZmYyP2R0cWN2YlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvY3ZyaWEtaWNvbnMvL2N2cmlhLnR0Zj9kdHFjdmJcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2N2cmlhLWljb25zLy9jdnJpYS53b2ZmP2R0cWN2YlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9jdnJpYS1pY29ucy8vY3ZyaWEuc3ZnP2R0cWN2YiNjdnJpYS1pY29uc1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBAZ3JvdXAgSUNPTlMgQVJSQVkgKi9cbi5pY29uLWJpZy1hZG1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ljVwiOyB9XG5cbi5pY29uLWJpZy1hdC1hLWdsYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6khVwiOyB9XG5cbi5pY29uLWJpZy1jb25uZWN0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIZcIjsgfVxuXG4uaWNvbi1iaWctZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLupY5cIjsgfVxuXG4uaWNvbi1iaWctbGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSHXCI7IH1cblxuLmljb24tYmlnLXRlbGVzY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kiFwiOyB9XG5cbi5pY29uLWJpZy1zZXZlbnR5LXllYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWOXCI7IH1cblxuLmljb24tYXJyb3ctZG93bjphZnRlciwgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29udGVudDogXCLupIlcIjsgfVxuXG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSKXCI7IH1cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupItcIjsgfVxuXG4uaWNvbi1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kjFwiOyB9XG5cbi5pY29uLXNvY2lhbC1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kjVwiOyB9XG5cbi5pY29uLXNvY2lhbC1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kjlwiOyB9XG5cbi5pY29uLXNvY2lhbC1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kkVwiOyB9XG5cbi5pY29uLXNvY2lhbC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSZXCI7IH1cblxuLmljb24tc29jaWFsLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWKXCI7IH1cblxuLmljb24tc29jaWFsLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJxcIjsgfVxuXG4uaWNvbi1zb2NpYWwtbWFzdG9kb246YmVmb3JlIHtcbiAgY29udGVudDogXCLupZFcIjsgfVxuXG4uaWNvbi1zb2NpYWwtYmx1ZXNreTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6krFwiOyB9XG5cbi5pY29uLXNvY2lhbC1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLupK5cIjsgfVxuXG4uaWNvbi1zb2NpYWwtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kr1wiOyB9XG5cbi5pY29uLXNvY2lhbC13aGF0c2FwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ksFwiOyB9XG5cbi5pY29uLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWLXCI7IH1cblxuLmljb24tYnVyZ2VyLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupI9cIjsgfVxuXG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kkFwiOyB9XG5cbi5pY29uLXNjcm9sbDphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qSUXCI7IH1cblxuLmljb24tcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJVcIjsgfVxuXG4uaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSWXCI7IH1cblxuLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupYxcIjsgfVxuXG4uaWNvbi1zZWFyY2gtaGlnaGxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSeXCI7IH1cblxuLmljb24tY3ZyaWEtYWNjZXNzLWRvYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kl1wiOyB9XG5cbi5pY29uLWN2cmlhLWFubnVhbC1yZXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJhcIjsgfVxuXG4uaWNvbi1jdnJpYS11cmdlbnQtYnVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSaXCI7IH1cblxuLmljb24tY3ZyaWEtYXJyb3ctY3ZyaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJtcIjsgfVxuXG4uaWNvbi1jdnJpYS1hdm9jYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJ1cIjsgfVxuXG4uaWNvbi1jdnJpYS1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSfXCI7IH1cblxuLmljb24tY3ZyaWEtY2FzZXMtYnJvdTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6koVwiOyB9XG5cbi5pY29uLWN2cmlhLWNhc2VzLWNvbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupKJcIjsgfVxuXG4uaWNvbi1jbG9jay1kdXJhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgFwiOyB9XG5cbi5pY29uLXBlbmRpbmctY2FzZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIFcIjsgfVxuXG4uaWNvbi1jdnJpYS1pbnRlcnByZXRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIJcIjsgfVxuXG4uaWNvbi1jdnJpYS1jb21tdW5pcXVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSjXCI7IH1cblxuLmljb24tY3ZyaWEtanVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLupLNcIjsgfVxuXG4uaWNvbi1qdXJpc3Rlcy1saW5ndWlzdGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSDXCI7IH1cblxuLmljb24tY3ZyaWEtY29udGFjdC1mb3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSkXCI7IH1cblxuLmljb24tY3ZyaWEtbGFuZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kt1wiOyB9XG5cbi5pY29uLWN2cmlhLW9mZmljaWFscy1vdGhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kvlwiOyB9XG5cbi5pY29uLWN2cmlhLWp1ZGljaWFsLW5vdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ktVwiOyB9XG5cbi5pY29uLWN2cmlhLWV4dGVybmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qStXCI7IH1cblxuLmljb24tdmlzaXRvcnMtcmVjZWl2ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupYhcIjsgfVxuXG4uaWNvbi1jdnJpYS10d2VldHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupYZcIjsgfVxuXG4uaWNvbi1jdnJpYS12aXNpdC1zZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWHXCI7IH1cblxuLmljb24tbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kpVwiOyB9XG5cbi5pY29uLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kplwiOyB9XG5cbi5pY29uLWV1cm9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6koFwiOyB9XG5cbi5pY29uLWUtY3VyaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLupKdcIjsgfVxuXG4uaWNvbi1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSoXCI7IH1cblxuLmljb24tb3Blbi1kb29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSpXCI7IH1cblxuLmljb24tcGVyY2VudGFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kqlwiOyB9XG5cbi5pY29uOmJlZm9yZSwgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSxcbi5pY29uOmFmdGVyLFxuaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLFxuW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGljb24tXCJdOmFmdGVyIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdjdnJpYS1pY29ucycgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLyogQGdyb3VwIEZPTlQgSUNPTlMgTUlYSU4gKi9cbkBtZWRpYSBwcmludCB7XG4gIGJvYnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDsgfVxuICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lcjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5pbm5lci1wYWdlLnBhZ2Utc2VjdGlvbi00IC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHJlbTtcbiAgICBib3R0b206IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgaGVhZGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXItbG9nby1zdmcge1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmhlYWRlci1tZW51LFxuICAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yLFxuICAuaGVhZGVyIC5oZWFkZXItbG9nbyAuaGVhZGVyLWxvZ28tc3ltYm9sLXN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2hhcmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmlubmVyLXBhZ2UgLm1haW4tY29udGVudCBoMiB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkICFpbXBvcnRhbnQ7IH1cbiAgbWFpbiAucm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50OyB9XG4gIGZvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudG9wLWxpbmssXG4gIC50b3AtbGluay5zaG93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ob21lcGFnZS1yZWdpb24tdHdvIHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtOyB9XG4gICAgLmhvbWVwYWdlLXJlZ2lvbi10d286YmVmb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IDQuNXJlbTsgfVxuICAgIC5ob21lcGFnZS1yZWdpb24tdHdvIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmhvbWVwYWdlLXJlZ2lvbi10aHJlZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIge1xuICAgIG1hcmdpbi10b3A6IDZyZW07IH1cbiAgICAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIgaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IDZyZW07IH1cbiAgLnBhZ2UtaG9tZSAubWFpbi1jb250ZW50ID4gZGl2IHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNnJlbTtcbiAgICBwYWRkaW5nLXRvcDogNnJlbTsgfVxuICAuaW5uZXItcGFnZSBpbWc6bm90KFtzcmMqPVwiZ3JhcGhcIl0pOm5vdChbc3JjKj1cInVhX2ZsYWdfMV9lbmhhbmNlZC1jb2xvdXJzLmpwZ1wiXSkge1xuICAgIHdpZHRoOiAxMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmlubmVyLXBhZ2UgZGl2LmZ1bGwtd2lkdGgtaW1nLW5vLXBhZGRpbmdzIGltZyB7XG4gICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmlubmVyLXBhZ2UgaW1nW3NyYyo9XCJncmFwaFwiXSB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXgtd2lkdGg6IDcwJTsgfVxuICAuaW5uZXItcGFnZSBpbWdbc3JjPVwidWFfZmxhZ18xX2VuaGFuY2VkLWNvbG91cnMuanBnXCJdIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5pbm5lci1wYWdlICNyZWdpb24tMyBpbWcge1xuICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmlubmVyLXBhZ2UgaW1nW3NyYyo9XCJ5b3V0dWJlLWxvZ29cIl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaW5uZXItcGFnZSAuZm9jdXMtdGl0bGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZCAhaW1wb3J0YW50OyB9XG4gIC5pbm5lci1wYWdlIC5mb2N1cy10aXRsZSBpbWcge1xuICAgIG1pbi1oZWlnaHQ6IDcwcHg7IH1cbiAgLmlubmVyLXBhZ2UgLmJsb2NrLWhpZ2hsaWdodCxcbiAgLmlubmVyLXBhZ2UgLmJsb2NrLWhpZ2hsaWdodC0yIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDsgfVxuICAuaW5uZXItcGFnZSAubWFpbi1jb250ZW50ID4gZGl2IHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDsgfVxuICAgIC5pbm5lci1wYWdlIC5tYWluLWNvbnRlbnQgPiBkaXYgYSB7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgLmlubmVyLXBhZ2UgLm9yYml0IC5vcmJpdC1idWxsZXRzLFxuICAuaW5uZXItcGFnZSAub3JiaXQgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZW1iZXJzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLm1lbWJlcnMtYmxvY2sgLmNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDsgfVxuICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0gLm1lbWJlci1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXNlY3Rpb24tMiAjaG9tZXBhZ2UtMiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFnZS1zZWN0aW9uLTMgI3JlZ2lvbi00LmlubmVyLXBhZ2UtcmVnaW9uLTMgLnJvdzpudGgtY2hpbGQoMykgaW1nLFxuICAucGFnZS1zZWN0aW9uLTMgI3JlZ2lvbi00LmlubmVyLXBhZ2UtcmVnaW9uLTMgLnJvdzpudGgtY2hpbGQoNCkgaW1nLFxuICAucGFnZS1zZWN0aW9uLTMgI3JlZ2lvbi00LmlubmVyLXBhZ2UtcmVnaW9uLTMgLnJvdzpudGgtY2hpbGQoNSkgaW1nLFxuICAucGFnZS1zZWN0aW9uLTMgI3JlZ2lvbi00LmlubmVyLXBhZ2UtcmVnaW9uLTMgLnJvdzpudGgtY2hpbGQoNikgaW1nLFxuICAucGFnZS1zZWN0aW9uLTMgI3JlZ2lvbi00LmlubmVyLXBhZ2UtcmVnaW9uLTMgLnJvdzpudGgtY2hpbGQoNykgaW1nLFxuICAucGFnZS1zZWN0aW9uLTMgI3JlZ2lvbi00LmlubmVyLXBhZ2UtcmVnaW9uLTMgLnJvdzpudGgtY2hpbGQoOCkgaW1nLFxuICAucGFnZS1zZWN0aW9uLTMgLmlubmVyLXBhZ2UtcmVnaW9uLTUgLnJvdyBpbWcge1xuICAgIG1heC13aWR0aDogMThyZW0gIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDE4cmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBhZ2Utc2VjdGlvbi00IC5pbm5lci1wYWdlLXJlZ2lvbi0yLTEgLnJvdyB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgLnBhZ2Utc2VjdGlvbi00IC5pbm5lci1wYWdlLXJlZ2lvbi0yLTEgLnJvdyBpbWcge1xuICAgICAgbWluLXdpZHRoOiAxOC43NXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXNlY3Rpb24tNSAjaG9tZXBhZ2UtMiAucm93LFxuICAucGFnZS1zZWN0aW9uLTUgI2hvbWVwYWdlLTIgLnJvdyAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBhZ2Utc2VjdGlvbi01IC5yb3cgaW1nIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5vcmJpdCB1bC5vcmJpdC1jb250YWluZXIgbGkub3JiaXQtc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLnBhZ2Utc2VjdGlvbi02IC5pY29uLWhlYWRpbmc6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2Utc2VjdGlvbi02IC5pbm5lci1wYWdlLXJlZ2lvbi0yLTEgLnJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuLmlubmVyLXBhZ2UgaDI6YmVmb3JlLCBwLnB1bGwtcXVvdGUgLm5hbWUtc3VybmFtZTpiZWZvcmUsIC5ob21lcGFnZS1yZWdpb24tdHdvOmJlZm9yZSwgLmhvbWVwYWdlLXJlZ2lvbi1mb3VyIGgyOmJlZm9yZSwgLmhvbWVwYWdlLXJlZ2lvbi1mb3VyIC5xdW90ZS1yaWdodC1zaWRlIGgzOmJlZm9yZSwgLmZ1bGwtcGFnZS1iYW5uZXIgaDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMwYTBhMGE7XG4gIHdpZHRoOiA0cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuaW5uZXItcGFnZSBoMjpiZWZvcmUsIHAucHVsbC1xdW90ZSAubmFtZS1zdXJuYW1lOmJlZm9yZSwgLmhvbWVwYWdlLXJlZ2lvbi10d286YmVmb3JlLCAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIgaDI6YmVmb3JlLCAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIgLnF1b3RlLXJpZ2h0LXNpZGUgaDM6YmVmb3JlLCAuZnVsbC1wYWdlLWJhbm5lciBoMTpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwYTBhMGE7XG4gICAgICB3aWR0aDogNS42MjVyZW07IH0gfVxuXG4ucmVnaW9uLWJhY2tncm91bmQtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhlbikge1xuICAgIG1heC13aWR0aDogMzRyZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcoY3MpIHtcbiAgICB3aWR0aDogMzUuMyU7XG4gICAgcGFkZGluZzogMDsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcoZmkpIHtcbiAgICB3aWR0aDogNDIuOSU7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhmaSkgaDEge1xuICAgICAgZm9udC1zaXplOiA1cmVtOyB9XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhocikge1xuICAgIG1heC13aWR0aDogMzByZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcoaHUpIHtcbiAgICBtYXgtd2lkdGg6IDMwcmVtO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhZ2UtaG9tZSAuZnVsbC1wYWdlLWJhbm5lcjpub3QoLmxvYWRlci1ibG9jaykgLmFsaWduLW1pZGRsZTpsYW5nKGl0KSB7XG4gICAgbWF4LXdpZHRoOiA0NXJlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhsdCkge1xuICAgIG1heC13aWR0aDogNTVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcobHYpIHtcbiAgICBtYXgtd2lkdGg6IDQ4LjZyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcobXQpLCAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcocGwpLCAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcocHQpIHtcbiAgICBtYXgtd2lkdGg6IDM4LjZyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcobmwpIHtcbiAgICBtYXgtd2lkdGg6IDUxLjZyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcocm8pIHtcbiAgICBtYXgtd2lkdGg6IDM4LjZyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcoc2wpIHtcbiAgICBtYXgtd2lkdGg6IDQ5LjJyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcoc3YpIHtcbiAgICBtYXgtd2lkdGg6IDQzLjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlOmxhbmcoZnIpIHtcbiAgICBtYXgtd2lkdGg6IDM4LjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhiZykge1xuICAgIHdpZHRoOiAzMS4zJTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhjcykge1xuICAgIHdpZHRoOiAyNS4zJTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhlbCkge1xuICAgIHdpZHRoOiAzOS4zJTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhlcykge1xuICAgIHdpZHRoOiAzOC4zJTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhmaSkge1xuICAgIHdpZHRoOiA0OS45JTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGU6bGFuZyhodSkge1xuICAgIG1heC13aWR0aDogNTByZW07XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5wYWdlLWhvbWUgaDI6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNkU2RTZEOyB9XG5cbi5ob21lcGFnZS1yZWdpb24tdHdvIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAuaG9tZXBhZ2UtcmVnaW9uLXR3byB7XG4gICAgICAvKiBJRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZSAqL1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmhvbWVwYWdlLXJlZ2lvbi10d28ge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIC5ob21lcGFnZS1yZWdpb24tdHdvOmJlZm9yZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNkU2RTZEOyB9XG4gIC5ob21lcGFnZS1yZWdpb24tdHdvIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21lcGFnZS1yZWdpb24tdHdvIHVsIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tZ2FwOiAzcmVtOyB9IH1cbiAgICAuaG9tZXBhZ2UtcmVnaW9uLXR3byB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5ob21lcGFnZS1yZWdpb24tdHdvIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmhvbWVwYWdlLXJlZ2lvbi10aHJlZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1OHZoICFpbXBvcnRhbnQ7IH1cbiAgLmhvbWVwYWdlLXJlZ2lvbi10aHJlZS5mdWxsLXBhZ2UtYmFubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5ob21lcGFnZS1yZWdpb24tdGhyZWUuZnVsbC1wYWdlLWJhbm5lciAuaGVyby1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1nL2hvbWFwYWdlLWltYWdlLTMuanBnXCIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAuaG9tZXBhZ2UtcmVnaW9uLXRocmVlIGgyIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAvKiBJRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZSAqL1xuICAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmhvbWVwYWdlLXJlZ2lvbi1mb3VyIHtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgLmhvbWVwYWdlLXJlZ2lvbi1mb3VyIC5yb3cge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH1cbiAgLmhvbWVwYWdlLXJlZ2lvbi1mb3VyIC5xdW90ZS1sZWZ0LXNpZGUge1xuICAgIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5ob21lcGFnZS1yZWdpb24tZm91ciAucXVvdGUtbGVmdC1zaWRlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9IH1cbiAgLmhvbWVwYWdlLXJlZ2lvbi1mb3VyIC5xdW90ZS1sZWZ0LXNpZGUgcC5wdWxsLXF1b3RlIHtcbiAgICBib3JkZXItbGVmdDogMXJlbSBzb2xpZCAjNkU2RTZEO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNTZweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIgLnF1b3RlLWxlZnQtc2lkZSBwLnB1bGwtcXVvdGUge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIgLnF1b3RlLWxlZnQtc2lkZSBwLnB1bGwtcXVvdGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH0gfVxuICAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIgLnF1b3RlLXJpZ2h0LXNpZGUgaDMge1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH1cbiAgICAuaG9tZXBhZ2UtcmVnaW9uLWZvdXIgLnF1b3RlLXJpZ2h0LXNpZGUgaDM6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICM2RTZFNkQ7IH1cbiAgLmhvbWVwYWdlLXJlZ2lvbi1mb3VyIC5xdW90ZS1yaWdodC1zaWRlIGg0IHtcbiAgICBjb2xvcjogIzZFNkU2RDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5ob21lcGFnZS1yZWdpb24tZm91ciAucXVvdGUtcmlnaHQtc2lkZSBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbmJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmludHJvLWNvcHkge1xuICBwYWRkaW5nOiAxZW07XG4gIG1hcmdpbjogNTB2aCBhdXRvO1xuICBtYXgtd2lkdGg6IDE1ZW07XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wYWdlLWhvbWUgLnRvcC1saW5rLWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZEICFpbXBvcnRhbnQ7IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBtYXJnaW46IC0xcHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTsgfVxuICAuc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA1cHg7XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgaDI6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaW5uZXItcGFnZSAubWFpbi1jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIC5pbm5lci1wYWdlIC5tYWluLWNvbnRlbnQge1xuICAgICAgLyogSUUxMCsgc3BlY2lmaWMgc3R5bGVzIGdvIGhlcmUgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAuaW5uZXItcGFnZSAubWFpbi1jb250ZW50IC5pbm5lci1wYWdlLXJlZ2lvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmlubmVyLXBhZ2UgLm1haW4tY29udGVudCAuaW5uZXItcGFnZS1yZWdpb246bm90KC5yZWdpb24tYmFja2dyb3VuZCkge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cbiAgLmlubmVyLXBhZ2UgLm1haW4tY29udGVudCAuaW5uZXItcGFnZS1yZWdpb24ucmVnaW9uLWJhY2tncm91bmQgaDI6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmU7IH1cbiAgLmlubmVyLXBhZ2UgLm1haW4tY29udGVudCAuaW5uZXItcGFnZS1yZWdpb24ucmVnaW9uLWJhY2tncm91bmQgYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMi5pY29uLWhlYWRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogMTEwcHg7IH0gfVxuXG5oMi5pY29uLWhlYWRpbmc6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNzhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDIuaWNvbi1oZWFkaW5nOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtMTEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBoMi5pY29uLWhlYWRpbmc6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4OyB9IH1cblxuaDIuaWNvbi1oZWFkaW5nOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6ICdjdnJpYS1pY29ucycgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogOTZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOHB4O1xuICB0b3A6IDE4cHg7XG4gIHdpZHRoOiA5NnB4O1xuICBoZWlnaHQ6IDk2cHg7IH1cblxuLmljb24taGVhZGluZy1tYWNib29rLWltZzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vYXNzZXRzL2ltZy9waG90b3MvbWFjYm9va19zaXRlX3dlYi5qcGcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmljb24taGVhZGluZy1icm93c2VyOmFmdGVyIHtcbiAgY29udGVudDogJ1xcZTkxZic7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDAuMDA5cmVtOyB9XG5cbi5pY29uLWhlYWRpbmctYm9vay1pbWc6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2Fzc2V0cy9pbWcvcGhvdG9zL3JhX2p1ZGljaWFpcmVfMjAyMC5wbmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmljb24taGVhZGluZy1hY2Nlc3MtZG9jOmFmdGVyIHtcbiAgY29udGVudDogJ1xcZTkxNyc7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDAuMDA5cmVtOyB9XG5cbi5pY29uLWhlYWRpbmctcGluOmFmdGVyIHtcbiAgY29udGVudDogJ1xcZTk0Nyc7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDAuMDA5cmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uaWNvbi1oZWFkaW5nLWJyb3dzZXItMjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGU5MjQnO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uaWNvbi1oZWFkaW5nLXNhdm9pcjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGU5MmInO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwLjA0cmVtO1xuICB0b3A6IDFweCAhaW1wb3J0YW50OyB9XG5cbi5ncmFwaC1kYXRlcyAuZ3JhcGgtZGF0ZXMtaW1nIHtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3JhcGgtZGF0ZXMgLmdyYXBoLWRhdGVzLWltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH1cbiAgLmdyYXBoLWRhdGVzIC5ncmFwaC1kYXRlcy1pbWcgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDkwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JhcGgtZGF0ZXMgLmdyYXBoLWRhdGVzLXR4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOTBweCk7XG4gICAgdG9wOiAtNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH1cblxuLmZvY3VzLXRpdGxlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5mb2N1cy10aXRsZSBkaXYuY29sdW1uczpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIG1heC13aWR0aDogMTIuNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogMC43cmVtOyB9XG5cbi5mb2N1cy10aXRsZSBkaXYuY29sdW1uczpmaXJzdC1jaGlsZCBoMyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmZvY3VzLXRpdGxlIGRpdi5jb2x1bW5zOmZpcnN0LWNoaWxkOmxhbmcoYmcpIHtcbiAgcGFkZGluZy1yaWdodDogMTZyZW07IH1cblxuLmZvY3VzLXRpdGxlIGRpdi5jb2x1bW5zOmZpcnN0LWNoaWxkOmxhbmcoZXQpIHtcbiAgbWF4LXdpZHRoOiAxNnJlbTsgfVxuXG4uZm9jdXMtdGl0bGUgZGl2LmNvbHVtbnM6Zmlyc3QtY2hpbGQ6bGFuZyhzaykge1xuICBtYXgtd2lkdGg6IDE3LjVyZW07IH1cblxuLnBhZ2Utc2VjdGlvbi0yIC5hbmRvcnJhLWxvZ28ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucGFnZS1zZWN0aW9uLTIgLmFuZG9ycmEtbG9nbyAuYW5kb3JyYS1sb2dvLXN2ZyB7XG4gIG1heC13aWR0aDogMTJyZW07IH1cblxuLnBhZ2Utc2VjdGlvbi0zICNyZWdpb24tNCBoMyB7XG4gIGNvbG9yOiAjNzM0ODVDOyB9XG5cbi5wYWdlLTQwNC1lcnJvciBoZWFkZXIsXG4ucGFnZS00MDQtZXJyb3IgZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS00MDQtZXJyb3IgLmZ1bGwtcGFnZS1iYW5uZXIge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuICAucGFnZS00MDQtZXJyb3IgLmZ1bGwtcGFnZS1iYW5uZXIgLnNoYXJlLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLTQwNC1lcnJvciAuZnVsbC1wYWdlLWJhbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBhZ2UtNDA0LWVycm9yIC5mdWxsLXBhZ2UtYmFubmVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA1LjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnBhZ2UtNDA0LWVycm9yIC5mdWxsLXBhZ2UtYmFubmVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA2LjVyZW07IH0gfVxuXG4ucGFnZS00MDQtZXJyb3IgLnNraXAtbGluayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogIEBncm91cCBGdWxsIHdpZHRoIGltYWdlICovXG4uZnVsbC13aWR0aC1pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5mdWxsLXdpZHRoLWltZyBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5mdWxsLXdpZHRoLWltZy1uby1wYWRkaW5ncyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZ1bGwtd2lkdGgtaW1nLW5vLXBhZGRpbmdzLnJvdy5leHBhbmRlZCwgLmZ1bGwtd2lkdGgtaW1nLW5vLXBhZGRpbmdzLnJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5mdWxsLXdpZHRoLWltZy1uby1wYWRkaW5ncyBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbiNmb290ZXI6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggc29saWQgIzBhMGEwYTtcbiAgb3V0bGluZTogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIGF1dG8gMXB4OyB9XG5cbmZvb3RlciAucm93LmV4cGFuZGVkIHtcbiAgcGFkZGluZy1yaWdodDogMzMlICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGZvb3RlciAucm93LmV4cGFuZGVkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDExJSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGZvb3RlciAucm93LmV4cGFuZGVkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDklICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgZm9vdGVyIC5yb3cgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbmZvb3RlciB7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCAjQzhBRTcwO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICBmb290ZXIgLmZvb3Rlci1sb2dvIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZm9vdGVyIC5mb290ZXItbG9nbyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLmZvb3Rlci1jb3B5cmlnaHQtaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgIGZvb3RlciAuZm9vdGVyLWNvcHlyaWdodCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLnRvb2x0aXAtZm9vdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLnRvb2x0aXAtZm9vdGVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgZm9vdGVyIC5mb290ZXItY29weXJpZ2h0IC50b29sdGlwLWZvb3RlciBhIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItY29weXJpZ2h0IC50b29sdGlwLWZvb3RlciBhOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07XG4gICAgICAgIGNvbG9yOiAjNkU2RTZEO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWNvcHlyaWdodCAudG9vbHRpcC1mb290ZXIgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzQ4NDg0NzsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItY29weXJpZ2h0IC50b29sdGlwLWZvb3RlciBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgICBsZWZ0OiAxLjhyZW07XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMS4ycmVtOyB9XG4gICAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLnRvb2x0aXAtZm9vdGVyIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQ4NDg0NzsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItY29weXJpZ2h0IC50b29sdGlwLWZvb3RlciBhOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLnRvb2x0aXAtZm9vdGVyIC50b29sdGlwIHtcbiAgICAgIGJvdHRvbTogMi42cmVtO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHdpZHRoOiAzNzBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLnRvb2x0aXAtZm9vdGVyIC50b29sdGlwIHtcbiAgICAgICAgICB3aWR0aDogMjcwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLnRvb2x0aXAtZm9vdGVyIC50b29sdGlwIHtcbiAgICAgICAgICB3aWR0aDogNDIwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLnRvb2x0aXAtZm9vdGVyIC50b29sdGlwIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTIxMHB4O1xuICAgICAgICAgIGxlZnQ6IDUwJTsgfSB9XG4gICAgICBmb290ZXIgLmZvb3Rlci1jb3B5cmlnaHQgLnRvb2x0aXAtZm9vdGVyIC50b29sdGlwOm5vdCgudG9vbHRpcC1vcGVuKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWNvcHlyaWdodCAudG9vbHRpcC1mb290ZXIgLnRvb2x0aXAudG9vbHRpcC1vcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgZm9vdGVyIC5mb290ZXItc29jaWFsIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZm9vdGVyIC5mb290ZXItc29jaWFsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZm9vdGVyIC5mb290ZXItc29jaWFsIHVsLm1lbnUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIGZvb3RlciAuZm9vdGVyLXNvY2lhbCB1bC5tZW51IGxpIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9vdGVyIC5mb290ZXItc29jaWFsIHVsLm1lbnUgbGkgYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBmb290ZXIgLmZvb3Rlci1zb2NpYWwgdWwubWVudSBsaSBhIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH0gfVxuICBmb290ZXIgLmZvb3Rlci1zb2NpYWwgdWwubWVudSBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzQ4NDg0NzsgfVxuICBmb290ZXIgLmZvb3Rlci1zb2NpYWwgdWwubWVudSBsaTpsYXN0LWNoaWxkIGEge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBmb290ZXIgLmZvb3Rlci1zb2NpYWwgdWwubWVudSBsaSBhOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuLmhpZGUtaGVhZGVyIGhlYWRlciB7XG4gIHRvcDogLTE4MHB4OyB9XG5cbi5oaWRlLWhlYWRlciAuZnVsbC1wYWdlLWJhbm5lciB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbmhlYWRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2U7XG4gIHRvcDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDI7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCA2cHggMTlweCAwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggNnB4IDE5cHggMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDBweCA2cHggMTlweCAwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICBoZWFkZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAycmVtO1xuICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6ICNDOEFFNzA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBoZWFkZXI6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgIHJpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH0gfVxuICBoZWFkZXIgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNDg0ODQ3OyB9XG4gIGhlYWRlciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZTsgfVxuICBoZWFkZXIgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6aG92ZXI6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlID4gYTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICBoZWFkZXIgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB1bCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggNnB4IDE5cHggMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xNSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggNnB4IDE5cHggMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xNSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDZweCAxOXB4IDBweCByZ2JhKDEwLCAxMCwgMTAsIDAuMTUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFM0UzRTM7IH1cbiAgICBoZWFkZXIgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB1bCBsaSBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhBRTcwO1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIGhlYWRlciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHVsIGxpIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICAgIGNvbG9yOiAjQzhBRTcwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1sb2dvLFxuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgdWwubWVudSBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIGhlYWRlciAuaGVhZGVyLWxvZ286YmVmb3JlLFxuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSB1bC5tZW51IGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI0M4QUU3MDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgd2lkdGg6IDIxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgICBoZWFkZXIgLmhlYWRlci1sb2dvIC5oZWFkZXItbG9nby1zdmcge1xuICAgICAgaGVpZ2h0OiA0OHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOTRweCkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgICAgICBoZWFkZXIgLmhlYWRlci1sb2dvIC5oZWFkZXItbG9nby1zdmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgaGVhZGVyIC5oZWFkZXItbG9nbyAuaGVhZGVyLWxvZ28tc3ltYm9sLXN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzOTVweCkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbG9nbyAuaGVhZGVyLWxvZ28tc3ltYm9sLXN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAyNjNweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLWxvZ28ge1xuICAgICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDI2N3B4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNjBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI5MnB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzYwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgZGl2LmlzLWRyaWxsZG93biB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgLm1lbnUgbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMiU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgLm1lbnUgbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMiU7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51IC5tZW51IGxpOm5vdCguaXMtc3VibWVudS1pdGVtKSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNDg0ODQ3OyB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgLm1lbnUgbGkuYWN0aXZlIGEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgLm1lbnUgbGkuYWN0aXZlIHVsIGxpIGEge1xuICAgIGNvbG9yOiAjNkU2RTZEOyB9XG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSAubWVudSBsaS5hY3RpdmUgYSB7XG4gICAgICBjb2xvcjogIzZFNkU2RDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51IC5tZW51IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSAubWVudSBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUlOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSAubWVudSBsaTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgLm1lbnUgbGkgYSB7XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51IC5tZW51IGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE0NHB4IC0gMTlweCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDk1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51IC5tZW51IGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE3MXB4IC0gMjhweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51IC5tZW51IGxpIGEge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjQwcHggLSAzMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhlbikge1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZnIpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAzMHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZnIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMzBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZnIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEzMnB4IC0gMzBweCk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZnIpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMjMwcHggLSAzMHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZnIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI0MHB4IC0gMzBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZnIpIHtcbiAgICAgICAgbWluLWhlaWdodDogOTZweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhmcikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjgwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhmcikge1xuICAgIG1heC13aWR0aDogY2FsYygxMzBweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhmcikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhmcikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTQ4cHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhmcikge1xuICAgIG1heC13aWR0aDogY2FsYygxMzBweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhmcikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhmcikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAzMHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoZnIpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDBweCAtIDMwcHgpOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGVzKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEzMHB4IC0gMzBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGVzKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDMwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGVzKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNjBweCAtIDMwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZXMpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZXMpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoZXMpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDMwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoZXMpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNjBweCAtIDMwcHgpOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKHB0KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMzBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKHB0KSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDMwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhwdCkge1xuICAgIG1heC13aWR0aDogY2FsYygxMjVweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhwdCkge1xuICAgIG1heC13aWR0aDogY2FsYygyMTBweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjcwcHggLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjkwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhwdCkge1xuICAgIG1heC13aWR0aDogY2FsYygxMzBweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhwdCkge1xuICAgIG1heC13aWR0aDogY2FsYygxMTBweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhwdCkge1xuICAgIG1heC13aWR0aDogY2FsYygxMTBweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhwdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhkZSkge1xuICAgIG1heC13aWR0aDogY2FsYygxMjBweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhkZSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhkZSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAzMHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZGUpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyMjBweCAtIDMwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZGUpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyMjBweCAtIDMwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhkZSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDIwMHB4IC0gMzBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhkZSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMzBweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGRlKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjgwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhkZSkge1xuICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDMwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGRlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMzVweCAtIDMwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGRlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNzVweCAtIDMwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGRlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxOTBweCAtIDMwcHgpOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGRlKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMzBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGRlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDhweCAtIDMwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGRlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMjBweCAtIDMwcHgpOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGRlKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMzBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGRlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMjBweCAtIDMwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGRlKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMjVweCAtIDMwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhubCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEyNHB4IC0gMzBweCk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcobmwpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKG5sKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNjBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhubCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTgwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobmwpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMjEwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKG5sKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygyNDBweCAtIDEuODc1cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobmwpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE5LjM3NXJlbSAtIDEuODc1cmVtKTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhubCkge1xuICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcobmwpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKG5sKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxOTBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKG5sKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkgYW5kIChtYXgtd2lkdGg6IDk5LjkzNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhldCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGV0KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE5MHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhldCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjAwcHggLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDIxMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGV0KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE1MHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhldCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTkwcHggLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI0MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGV0KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhldCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxOTBweCAtIDEuODc1cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoZXQpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNjBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhldCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAzMHB4KTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhldCkge1xuICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMTBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGdhKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZ2EpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGdhKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMzBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhnYSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZ2EpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMjEwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGdhKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxOTBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhnYSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjQwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoZ2EpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGdhKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoZ2EpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE5MHB4IC0gMS44NzVyZW0pO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhnYSkge1xuICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoZ2EpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE4MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGdhKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNTBweCAtIDMwcHgpOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGdhKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEzMHB4IC0gMS44NzVyZW0pOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoaHIpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMjRweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoaHIpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMjRweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGhyKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGhyKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjI0cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhocikge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMS44NzVyZW0pO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhocikge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDI3MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGhyKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhocikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoaHIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGhyKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhocikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoaHIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGhyKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhocikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoaHIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGJnKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhiZykge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGJnKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNjBweCAtIDEuODc1cmVtKTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhiZykge1xuICAgIG1heC13aWR0aDogY2FsYygxOTZweCAtIDEuODc1cmVtKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoYmcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDIxMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGJnKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygyMjBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoYmcpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyMjBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGJnKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoYmcpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGJnKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhiZykge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoYmcpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGJnKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhiZykge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoYmcpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGJnKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhiZykge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTM0cHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoY3MpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTM1cHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGNzKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhjcykge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoZGEpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGRhKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNjBweCAtIDEuODc1cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhkYSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTgwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoZGEpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTM1cHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGRhKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhkYSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoZWwpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTI1cHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGVsKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMzBweCAtIDEuODc1cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhlbCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZWwpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTU1cHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGVsKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNjVweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhlbCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTgwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZWwpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMjM1cHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGVsKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygyNDBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhlbCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhlbCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjYwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoZWwpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGVsKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNzBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhlbCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoZWwpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGVsKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMjNweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhlbCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoZWwpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGVsKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMzBweCAtIDEuODc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhlbCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoaHUpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTM1cHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGh1KSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoaHUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE1MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGh1KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE5NXB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhodSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTkwcHggLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoaHUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGh1KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDIwNXB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhodSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjYwcHggLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoaHUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI2MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGh1KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDE0NXB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhodSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTcwcHggLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoaHUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE4MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGh1KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDk1cHggLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGh1KSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDBweCAtIDEuODc1cmVtKTsgfSB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhodSkge1xuICAgIG1heC13aWR0aDogY2FsYyg5MHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhodSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODUuMzEyNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGl0KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGl0KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGl0KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhpdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMS44NzVyZW0pO1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhpdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDI4NXB4IC0gMS44NzVyZW0pO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhpdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGl0KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHB4IC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhpdCkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoaXQpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoOTdweCAtIDEuODc1cmVtKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoaXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDk3cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGx0KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhsdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE4NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhsdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE4NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhsdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE4NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobHQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyNTVweCAtIDEuODc1cmVtKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobHQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyNTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGx0KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTU1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkgYW5kIChtYXgtd2lkdGg6IDk5LjkzNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhsdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwNXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcobHQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcobHYpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGx2KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTg1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGx2KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTI1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhsdikge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEzNXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhsdikge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDI0NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobHYpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyMzVweCAtIDEuODc1cmVtKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobHYpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygzMDVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGx2KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTQ1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODUuMzEyNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGx2KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoODVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcobHYpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYyg5NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhtdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEzNXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcobXQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNzVweCAtIDEuODc1cmVtKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcobXQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcobXQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKG10KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODUuMzEyNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKG10KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjUwcHggLSAxLjg3NXJlbSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKG10KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjcwcHggLSAxLjg3NXJlbSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcobXQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKG10KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTcwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhtdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE3OHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhtdCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcobXQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcobXQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYyg5MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcobXQpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYyg5MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhwbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcocGwpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhwbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEzMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcocGwpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcocGwpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyMDBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKHBsKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjY1cHggLSAxLjg3NXJlbSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcocGwpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKHBsKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTY1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhwbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE4MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhwbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDExNXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcocGwpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcocGwpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMzVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKHBsKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKHJvKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhybykge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEyNXB4IC0gMS44NzVyZW0pO1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKHJvKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhybykge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEyNXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhybykge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcocm8pIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyMjVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKHJvKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMzI1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKHJvKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoOTBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKHJvKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKHJvKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoOTBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKHJvKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKHNrKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTM1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhzaykge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEyNXB4IC0gMS44NzVyZW0pO1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKHNrKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjE1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkgYW5kIChtYXgtd2lkdGg6IDk5LjkzNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhzaykge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhzaykge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDI3NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoc2spIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyOTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoc2spIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKHNrKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTg1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKHNrKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhzaykge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwNXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoc2spIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxODVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKHNrKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoOTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoc2wpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKHNsKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKHNsKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKHNsKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjM1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhzbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDI0MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoc2wpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoc2wpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygzMzBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoc2wpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKHNsKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTcwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhzbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE4MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhzbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDExNXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoc2wpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKHNsKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKHNsKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhzbCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhzdikge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoc3YpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMzVweCAtIDEuODc1cmVtKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoc3YpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNDVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoc3YpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNDVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKHN2KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTU1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKHN2KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjI1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhzdikge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDI0NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoc3YpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyNTVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoc3YpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxNDVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjM3NWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKHN2KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTU1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODUuMzEyNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKHN2KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTQ1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkgYW5kIChtYXgtd2lkdGg6IDk5LjkzNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhzdikge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE0NHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhzdikge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwNXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoc3YpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMTRweCAtIDEuODc1cmVtKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhmaSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoZmkpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMjVweCAtIDEuODc1cmVtKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhmaSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEzMHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhmaSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE5MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhmaSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDI1MHB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZmkpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygyMzVweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGZpKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjgwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGZpKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhmaSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDE3NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoZmkpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxOTBweCAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoZmkpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYyg4NXB4IC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhmaSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDg1cHggLSAxLjg3NXJlbSk7IH0gfVxuICBoZWFkZXIgLmhlYWRlci1tZW51IC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRvcDogLTNweDtcbiAgICByaWdodDogMS4yNXJlbTtcbiAgICByaWdodDogLTRweDsgfVxuICBoZWFkZXIgLmhlYWRlci1tZW51IC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwge1xuICAgIG1hcmdpbi10b3A6IC0zNnB4O1xuICAgIG1pbi13aWR0aDogMjQ1cHg7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIGhlYWRlciAuaGVhZGVyLW1lbnUgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB1bCBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgaGVhZGVyIC5oZWFkZXItbWVudSAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHVsIGxpIGEge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBoZWFkZXIgLmhlYWRlci1tZW51ID4gdWwubWVudSA+IGxpIHVsIGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIgLmhlYWRlci1sYW5ndWFnZS1zZWxlY3RvciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI2NnB4KTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzk0cHgpIHtcbiAgICAgIGhlYWRlciAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE3NnB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgaGVhZGVyIC5oZWFkZXItbGFuZ3VhZ2Utc2VsZWN0b3Ige1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzE0cHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlYWRlci1sYW5ndWFnZS1zZWxlY3RvciB7XG4gICAgICAgIHdpZHRoOiA5MnB4OyB9IH1cbiAgICBoZWFkZXIgLmhlYWRlci1sYW5ndWFnZS1zZWxlY3RvciB1bC5kcm9wZG93bi5tZW51Lmxhbmctc2VsZWN0b3Ige1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIGhlYWRlciAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yIHVsLmRyb3Bkb3duLm1lbnUubGFuZy1zZWxlY3RvciB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9IH1cbiAgICBoZWFkZXIgLmhlYWRlci1sYW5ndWFnZS1zZWxlY3RvciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHVsIHtcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyODBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87IH1cbiAgICBoZWFkZXIgLmhlYWRlci1sYW5ndWFnZS1zZWxlY3RvciB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYSxcbiAgICBoZWFkZXIgLmhlYWRlci1sYW5ndWFnZS1zZWxlY3RvciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNDOEFFNzA7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAycmVtIDAuNjI1cmVtIDAuODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyIC5oZWFkZXItbGFuZ3VhZ2Utc2VsZWN0b3IgdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGEsXG4gICAgICAgIGhlYWRlciAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIGhlYWRlciAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yIHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhLFxuICAgICAgICBoZWFkZXIgLmhlYWRlci1sYW5ndWFnZS1zZWxlY3RvciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMS4yNXJlbSAzcmVtIDEuMjVyZW0gMS4yNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIGhlYWRlciAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yIHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOmFmdGVyLFxuICAgICAgaGVhZGVyIC5oZWFkZXItbGFuZ3VhZ2Utc2VsZWN0b3IgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgICB0b3A6IDAuNjI1cmVtO1xuICAgICAgICByaWdodDogMC42MjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgaGVhZGVyIC5oZWFkZXItbGFuZ3VhZ2Utc2VsZWN0b3IgdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6YWZ0ZXIsXG4gICAgICAgICAgaGVhZGVyIC5oZWFkZXItbGFuZ3VhZ2Utc2VsZWN0b3IgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAxLjI1cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgICBoZWFkZXIgLmhlYWRlci1sYW5ndWFnZS1zZWxlY3RvciB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTpob3ZlcjphZnRlcixcbiAgICAgIGhlYWRlciAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgdG9wOiAwLjYyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDAuNjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIGhlYWRlciAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yIHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOmhvdmVyOmFmdGVyLFxuICAgICAgICAgIGhlYWRlciAuaGVhZGVyLWxhbmd1YWdlLXNlbGVjdG9yIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgaGVhZGVyIC5oZWFkZXItbWVudS1tb2JpbGUgLnRpdGxlLWJhciBidXR0b24ubWVudS1pY29uIHtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIG1hcmdpbi10b3A6IC04cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgaGVhZGVyIC5oZWFkZXItbWVudS1tb2JpbGUgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjNkU2RTZEOyB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUtbW9iaWxlIC50aXRsZS1iYXIgYnV0dG9uLm1lbnUtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAjNkU2RTZEOyB9XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUtbW9iaWxlIC50aXRsZS1iYXIgYnV0dG9uLm1lbnUtaWNvbjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIgLmhlYWRlci1tZW51LW1vYmlsZSAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgaGVhZGVyIC5oZWFkZXItbWVudS1tb2JpbGUgLnRpdGxlLWJhciAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGhlYWRlciAuaGVhZGVyLW1lbnUtbW9iaWxlIC50aXRsZS1iYXIge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICBib2R5IC5oZWFkZXItbWVudS1tb2JpbGUgI21vYmlsZS1tZW51LXVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NS4zMTI1ZW0pIHtcbiAgYm9keS5leHBhbmQtbW9iaWxlLW1lbnUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuICBib2R5LmV4cGFuZC1tb2JpbGUtbWVudSAuaGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFxlOTBmJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1mYW1pbHk6ICdjdnJpYS1pY29ucycgIWltcG9ydGFudDtcbiAgICByaWdodDogMnJlbTtcbiAgICB0b3A6IDJyZW07XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICM2RTZFNkQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUge1xuICAgIG1heC13aWR0aDogNzAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUuMzEyNWVtKSB7XG4gIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgLnRpdGxlLWJhciAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBib2R5LmV4cGFuZC1tb2JpbGUtbWVudSAuaGVhZGVyLW1lbnUtbW9iaWxlICNtb2JpbGUtbWVudS11bCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTsgfVxuICAgIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgI21vYmlsZS1tZW51LXVsIC5pcy1kcmlsbGRvd24ge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LmV4cGFuZC1tb2JpbGUtbWVudSAuaGVhZGVyLW1lbnUtbW9iaWxlICNtb2JpbGUtbWVudS11bCB1bCBsaSBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhBRTcwO1xuICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgI21vYmlsZS1tZW51LXVsIHVsIGxpIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMC41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDsgfVxuICAgIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgI21vYmlsZS1tZW51LXVsIHVsIGxpLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCBhOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNkU2RTZEO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBjb250ZW50OiAnXFxlOTBiJztcbiAgICAgIGZvbnQtZmFtaWx5OiAnY3ZyaWEtaWNvbnMnICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMnJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgYm9keS5leHBhbmQtbW9iaWxlLW1lbnUgLmhlYWRlci1tZW51LW1vYmlsZSAjbW9iaWxlLW1lbnUtdWwgdWwgbGkuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50IHVsIGxpIGE6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgI21vYmlsZS1tZW51LXVsIHVsIGxpIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICAgIGNvbG9yOiAjQzhBRTcwOyB9XG4gICAgICBib2R5LmV4cGFuZC1tb2JpbGUtbWVudSAuaGVhZGVyLW1lbnUtbW9iaWxlICNtb2JpbGUtbWVudS11bCB1bCBsaSBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNDOEFFNzA7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgYm9keS5leHBhbmQtbW9iaWxlLW1lbnUgLmhlYWRlci1tZW51LW1vYmlsZSAjbW9iaWxlLW1lbnUtdWwgdWwgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjQzhBRTcwOyB9XG4gICAgYm9keS5leHBhbmQtbW9iaWxlLW1lbnUgLmhlYWRlci1tZW51LW1vYmlsZSAjbW9iaWxlLW1lbnUtdWwgdWwgbGkgYTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIGxlZnQ6IDM3cHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzRweCk7IH1cbiAgICAgIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgI21vYmlsZS1tZW51LXVsIHVsIGxpIGE6Zm9jdXMtdmlzaWJsZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQzhBRTcwOyB9XG4gICAgYm9keS5leHBhbmQtbW9iaWxlLW1lbnUgLmhlYWRlci1tZW51LW1vYmlsZSAjbW9iaWxlLW1lbnUtdWwgdWwgbGkgYTpmb2N1czpob3ZlcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgI21vYmlsZS1tZW51LXVsIHVsIGxpIGE6Zm9jdXM6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICBib2R5LmV4cGFuZC1tb2JpbGUtbWVudSAuaGVhZGVyLW1lbnUtbW9iaWxlICNtb2JpbGUtbWVudS11bCB1bCBsaSB1bCBsaS5qcy1kcmlsbGRvd24tYmFjayBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMy41cmVtOyB9XG4gICAgICBib2R5LmV4cGFuZC1tb2JpbGUtbWVudSAuaGVhZGVyLW1lbnUtbW9iaWxlICNtb2JpbGUtbWVudS11bCB1bCBsaSB1bCBsaS5qcy1kcmlsbGRvd24tYmFjayBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZTkwYSc7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGVmdDogMS41cmVtO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBib2R5LmV4cGFuZC1tb2JpbGUtbWVudSAuaGVhZGVyLW1lbnUtbW9iaWxlIC50aXRsZS1iYXIgYnV0dG9uLm1lbnUtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiA5OTsgfVxuICAgIGJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgLnRpdGxlLWJhciBidXR0b24ubWVudS1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxlOTEwJztcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbmJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUgLnRpdGxlLWJhciBidXR0b24ubWVudS1pY29uIHtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgYm9keS5leHBhbmQtbW9iaWxlLW1lbnUgLmhlYWRlci1tZW51LW1vYmlsZSAudGl0bGUtYmFyIGJ1dHRvbi5tZW51LWljb24ge1xuICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3NjhweCkge1xuICBib2R5LmV4cGFuZC1tb2JpbGUtbWVudSAuaGVhZGVyLW1lbnUtbW9iaWxlIC5kb2NzLWNvZGUtbGl2ZSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgYnV0dG9uI21vYmlsZS1idXJnZXItbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBidXR0b24jbW9iaWxlLWJ1cmdlci1tZW51IHNwYW4uc2hvdy1mb3Itc3Ige1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmZ1bGwtcGFnZS1iYW5uZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOEFFNzA7XG4gIHBhZGRpbmctdG9wOiA0LjVyZW07IH1cbiAgLmZ1bGwtcGFnZS1iYW5uZXIgLmhlcm8tYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZ1bGwtcGFnZS1iYW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5mdWxsLXBhZ2UtYmFubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMThweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmZ1bGwtcGFnZS1iYW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDhyZW07IH0gfVxuICAuZnVsbC1wYWdlLWJhbm5lciBoMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuICAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhOmZvY3VzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLmZ1bGwtcGFnZS1iYW5uZXIgLmFsaWduLW1pZGRsZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZ1bGwtcGFnZS1iYW5uZXIgLmFsaWduLW1pZGRsZSB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGUge1xuICAgIHdpZHRoOiA5NSU7IH0gfVxuXG4ucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyIGgxIHtcbiAgZm9udC1zaXplOiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNS42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2UtaG9tZSAuZnVsbC1wYWdlLWJhbm5lciBoMSB7XG4gICAgICBmb250LXNpemU6IDYuNXJlbTsgfSB9XG5cbi5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXIgLmdvLWRvd24gYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm90dG9tOiAycmVtO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkge1xuICAgIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXIgLmdvLWRvd24gYSB7XG4gICAgICAvKiBDU1Mgc3BlY2lmaWMgdG8gaU9TIGRldmljZXMgKi8gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5wYWdlLWhvbWUgLmZ1bGwtcGFnZS1iYW5uZXIgLmdvLWRvd24gYSB7XG4gICAgICAgICAgYm90dG9tOiA1LjYyNXJlbTsgfSB9IH1cbiAgLnBhZ2UtaG9tZSAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBjb2xvcjogI0M4QUU3MDsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyIC5nby1kb3duIGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAycHggNXB4IDlweCAwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDJweCA1cHggOXB4IDBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICAgIGJveC1zaGFkb3c6IDJweCA1cHggOXB4IDBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwYTBhMGE7XG4gICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGhlaWdodDogNTRweDtcbiAgICB3aWR0aDogNTRweDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyIC5nby1kb3duIGE6YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgbGVmdDogMXB4OyB9XG5cbi5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgLmFsaWduLW1pZGRsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH0gfVxuICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lcjpiZWZvcmUsIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXI6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBib3R0b206IDEuMjVyZW07XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lcjpiZWZvcmUge1xuICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG4gICAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lcjpiZWZvcmUge1xuICAgICAgICBib3R0b206IDAuNzVyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgIHJpZ2h0OiA1MCU7IH0gfVxuICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lcjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuICAgICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXI6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIC5pY29uLWZvbnQ6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgLmljb24tZm9udDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEwcmVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuICAgICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgLmljb24tZm9udDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNTIwcHgpIHtcbiAgICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIC5pY29uLWZvbnQ6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC41cmVtOyB9IH1cbiAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgLmljb24tZm9udCxcbiAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgaDEsXG4gIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIGgyIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgaDEge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgaDE6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDMuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1MjBweCkge1xuICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgaDE6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDNyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciBoMiB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjhweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG4gICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDUyMHB4KSB7XG4gICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH0gfVxuICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciBoMTpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGJvcmRlci13aWR0aDogMC4xMjVyZW07XG4gICAgd2lkdGg6IDhyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciBoMTpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAuMjVyZW07XG4gICAgICAgIHdpZHRoOiAxMS4yNXJlbTsgfSB9XG4gIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIC5nby1kb3duIGEge1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogLTMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcbiAgICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIC5nby1kb3duIGEge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogNTAlOyB9IH1cbiAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3R0b206IC02OHB4O1xuICAgICAgcmlnaHQ6IC00M3B4O1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcbiAgICAgICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXIgLmdvLWRvd24gYSBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIC5nby1kb3duIGEgZGl2IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxODhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhIGRpdiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG4gICAgICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIC5nby1kb3duIGEgZGl2IHtcbiAgICAgICAgICBmb250LXNpemU6IDA7IH0gfVxuICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIC5nby1kb3duIGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAzcmVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMi41cmVtOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuICAgICAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhOmJlZm9yZSB7XG4gICAgICAgICAgYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogOTBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC00NHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIC5nby1kb3duIGE6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuICAgICAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciAuZ28tZG93biBhOmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDQycHg7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTZweDsgfSB9XG5cbi5wYWdlLWhvbWUgLmhlcm8tYmFja2dyb3VuZC1pbWFnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWcvaG9tYXBhZ2UtaW1hZ2UtMS5wbmdcIik7IH1cblxuLnBhZ2Utc2VjdGlvbi0xIC5oZXJvLWJhY2tncm91bmQtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1nL3NlY3Rpb24tMS10b3AtYmFubmVyLnBuZ1wiKTsgfVxuXG4ucGFnZS1zZWN0aW9uLTIgLmhlcm8tYmFja2dyb3VuZC1pbWFnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWcvc2VjdGlvbi0yLXRvcC1iYW5uZXIucG5nXCIpOyB9XG5cbi5wYWdlLXNlY3Rpb24tMyAuaGVyby1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vYXNzZXRzL2ltZy9zZWN0aW9uLTMtdG9wLWJhbm5lci5wbmdcIik7IH1cblxuLnBhZ2Utc2VjdGlvbi00IC5oZXJvLWJhY2tncm91bmQtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1nL3NlY3Rpb24tNC10b3AtYmFubmVyLnBuZ1wiKTsgfVxuXG4ucGFnZS1zZWN0aW9uLTUgLmhlcm8tYmFja2dyb3VuZC1pbWFnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWcvc2VjdGlvbi01LXRvcC1iYW5uZXIucG5nXCIpOyB9XG5cbi5wYWdlLXNlY3Rpb24tNiAuaGVyby1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vYXNzZXRzL2ltZy9zZWN0aW9uLTYtdG9wLWJhbm5lci5wbmdcIik7IH1cblxuLnBhZ2UtNDA0LWVycm9yIC5oZXJvLWJhY2tncm91bmQtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1nL2hvbWFwYWdlLWltYWdlLTEucG5nXCIpOyB9XG5cbi5sb2FkZXItYmxvY2sge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIDBzIGVhc2U7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5sb2FkZXItYmxvY2s6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5sb2FkZXItYmxvY2subG9hZGluZy1kb25lIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5sb2FkZXItYmxvY2sgLmFsaWduLW1pZGRsZSB7XG4gICAgdG9wOiA0NSU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAubG9hZGVyLWJsb2NrIC5hbGlnbi1taWRkbGUge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5sb2FkZXItYmxvY2sgLmFsaWduLW1pZGRsZSBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDRweDtcbiAgICAgIGhlaWdodDogMTA0cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmxvYWRlci1ibG9jayAuYWxpZ24tbWlkZGxlIGRpdiB7XG4gICAgICAgICAgd2lkdGg6IDE0NHB4O1xuICAgICAgICAgIGhlaWdodDogMTQ0cHg7IH0gfVxuICAgIC5sb2FkZXItYmxvY2sgLmFsaWduLW1pZGRsZSBkaXY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5sb2FkZXItYmxvY2sgLmxvYWRlci1sb2dvIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5sb2FkZXItYmxvY2sgLmxvYWRlci1sb2dvIGltZyB7XG4gICAgd2lkdGg6IDYuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5sb2FkZXItYmxvY2sgLmxvYWRlci1sb2dvIGltZyB7XG4gICAgICAgIHdpZHRoOiA5cmVtOyB9IH1cbiAgLmxvYWRlci1ibG9jayAuaWNvbi1mb250IHtcbiAgICBjb2xvcjogIzZFNkU2RCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogNi41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmxvYWRlci1ibG9jayAuaWNvbi1mb250IHtcbiAgICAgICAgZm9udC1zaXplOiA5cmVtOyB9IH1cbiAgLmxvYWRlci1ibG9jayAuaWNvbi1mb250OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxMDVweCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmxvYWRlci1ibG9jayAuaWNvbi1mb250OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTQycHggIWltcG9ydGFudDsgfSB9XG4gIC5sb2FkZXItYmxvY2sgLmxvYWRlci1sb2dvLFxuICAubG9hZGVyLWJsb2NrIC5pY29uLWJpZy1hdC1hLWdsYW5jZSxcbiAgLmxvYWRlci1ibG9jayAuaWNvbi1iaWctc2V2ZW50eS15ZWFycyxcbiAgLmxvYWRlci1ibG9jayAuaWNvbi1iaWctZXhjaGFuZ2UsXG4gIC5sb2FkZXItYmxvY2sgLmljb24tYmlnLWFkbWluLFxuICAubG9hZGVyLWJsb2NrIC5pY29uLWJpZy1jb25uZWN0ZWQsXG4gIC5sb2FkZXItYmxvY2sgLmljb24tYmlnLWxhdyxcbiAgLmxvYWRlci1ibG9jayAuaWNvbi1iaWctdGVsZXNjb3BlIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubG9hZGVyLWJsb2NrIC5sb2FkZXItbG9nbyB7XG4gICAgYW5pbWF0aW9uOiBsb2FkZXItbG9nby1tb3ZlIDNzIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXAtZW5kOyB9XG5cbkBrZXlmcmFtZXMgbG9hZGVyLWxvZ28tbW92ZSB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgMjUlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMzglIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgNTAlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgNjglIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgODAlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAwOyB9IH1cbiAgLmxvYWRlci1ibG9jayAuaWNvbi1iaWctYXQtYS1nbGFuY2Uge1xuICAgIGFuaW1hdGlvbjogYXQtYS1nbGFuY2UtbW92ZSAzcyBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwLWVuZDsgfVxuXG5Aa2V5ZnJhbWVzIGF0LWEtZ2xhbmNlLW1vdmUge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDI1JSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIDM4JSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDUwJSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDY4JSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDgwJSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDEwMCUge1xuICAgIGhlaWdodDogMDsgfSB9XG4gIC5sb2FkZXItYmxvY2sgLmljb24tYmlnLWV4Y2hhbmdlIHtcbiAgICBhbmltYXRpb246IGV4Y2hhbmdlLW1vdmUgM3MgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogc3RlcC1lbmQ7IH1cblxuQGtleWZyYW1lcyBleGNoYW5nZS1tb3ZlIHtcbiAgMCUge1xuICAgIGhlaWdodDogMDsgfVxuICAyNSUge1xuICAgIGhlaWdodDogMDsgfVxuICAzOCUge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICA1MCUge1xuICAgIGhlaWdodDogMDsgfVxuICA2OCUge1xuICAgIGhlaWdodDogMDsgfVxuICA4MCUge1xuICAgIGhlaWdodDogMDsgfVxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDA7IH0gfVxuICAubG9hZGVyLWJsb2NrIC5pY29uLWJpZy1hZG1pbiB7XG4gICAgYW5pbWF0aW9uOiBhZG1pbi1tb3ZlIDNzIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXAtZW5kOyB9XG5cbkBrZXlmcmFtZXMgYWRtaW4tbW92ZSB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMjUlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMzglIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgNTAlIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgNjglIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgODAlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAwOyB9IH1cbiAgLmxvYWRlci1ibG9jayAuaWNvbi1iaWctY29ubmVjdGVkIHtcbiAgICBhbmltYXRpb246IGNvbm5lY3RlZC1tb3ZlIDNzIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXAtZW5kOyB9XG5cbkBrZXlmcmFtZXMgY29ubmVjdGVkLW1vdmUge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDI1JSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDM4JSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDUwJSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDY4JSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIDgwJSB7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIDEwMCUge1xuICAgIGhlaWdodDogMDsgfSB9XG4gIC5sb2FkZXItYmxvY2sgLmljb24tYmlnLWxhdyB7XG4gICAgYW5pbWF0aW9uOiBsYXctbW92ZSAzcyBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwLWVuZDsgfVxuXG5Aa2V5ZnJhbWVzIGxhdy1tb3ZlIHtcbiAgMCUge1xuICAgIGhlaWdodDogMDsgfVxuICAyNSUge1xuICAgIGhlaWdodDogMDsgfVxuICAzOCUge1xuICAgIGhlaWdodDogMDsgfVxuICA1MCUge1xuICAgIGhlaWdodDogMDsgfVxuICA2OCUge1xuICAgIGhlaWdodDogMDsgfVxuICA4MCUge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDA7IH0gfVxuICAubG9hZGVyLWJsb2NrIC5pY29uLWJpZy10ZWxlc2NvcGUge1xuICAgIGFuaW1hdGlvbjogdGVsZXNjb3BlLW1vdmUgM3MgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogc3RlcC1lbmQ7IH1cblxuQGtleWZyYW1lcyB0ZWxlc2NvcGUtbW92ZSB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMjUlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMzglIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgNTAlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgNjglIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgODAlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLm5vLWpzICNsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5qcyAjbG9hZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTAwcHg7XG4gIHRvcDogMDsgfVxuXG4uc2UtcHJlLWNvbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMHB4O1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5OTsgfVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAvKiBJRTEwKyBzdHlsZXMgKi9cbiAgLnNlLXByZS1jb24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5vcmJpdCB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMHMgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub3JiaXQub3JiaXQtYm9yZGVyLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0M1QzVDNTsgfVxuICAub3JiaXQub3JiaXQtYm9yZGVyLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0M1QzVDNTsgfVxuICAub3JiaXQgdWwub3JiaXQtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5vcmJpdCB1bC5vcmJpdC1jb250YWluZXIgbGkub3JiaXQtc2xpZGUge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5vcmJpdCBuYXYub3JiaXQtYnVsbGV0cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDkzcHgpO1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7IH1cbiAgICAgICAgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmU6Zm9jdXMge1xuICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgIGhlaWdodDogMnJlbTsgfSB9XG4gICAgICAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOmZvY3VzLCAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZTpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgIzBhMGEwYTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB3aWR0aDogMS43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAvKiBJRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZSAqL1xuICAgICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLm9yYml0IGJ1dHRvbi5vcmJpdC1wcmV2aW91cyxcbiAgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0LFxuICAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlLFxuICAub3JiaXQgYnV0dG9uLm9yYml0LXBsYXkge1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7XG4gICAgdG9wOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjI1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5vcmJpdCBidXR0b24ub3JiaXQtcHJldmlvdXM6aG92ZXIsXG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmhvdmVyLFxuICAgIC5vcmJpdCBidXR0b24ub3JiaXQtcGF1c2U6aG92ZXIsXG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1wbGF5OmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1wcmV2aW91czphY3RpdmUsXG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmFjdGl2ZSxcbiAgICAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmFjdGl2ZSxcbiAgICAub3JiaXQgYnV0dG9uLm9yYml0LXBsYXk6YWN0aXZlIHtcbiAgICAgIHRvcDogMjZweDtcbiAgICAgIHBhZGRpbmc6IDdweCAwLjI1cmVtOyB9XG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1wcmV2aW91czpmb2N1cyxcbiAgICAub3JiaXQgYnV0dG9uLm9yYml0LW5leHQ6Zm9jdXMsXG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpmb2N1cyxcbiAgICAub3JiaXQgYnV0dG9uLm9yYml0LXBsYXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzOmZvY3VzLXZpc2libGUsXG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmZvY3VzLXZpc2libGUsXG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZTpmb2N1cy12aXNpYmxlLFxuICAgIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwYTBhMGE7XG4gICAgICBib3gtc2hhZG93OiAwIDVweCA2cHggLTVweCAjMGEwYTBhOyB9XG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1wcmV2aW91czpiZWZvcmUsXG4gICAgLm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0OmJlZm9yZSxcbiAgICAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlOmJlZm9yZSxcbiAgICAub3JiaXQgYnV0dG9uLm9yYml0LXBsYXk6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAub3JiaXQgYnV0dG9uLm9yYml0LXBhdXNlLFxuICAub3JiaXQgYnV0dG9uLm9yYml0LXBsYXkge1xuICAgIHRvcDogMDsgfVxuICAgIC5vcmJpdCBidXR0b24ub3JiaXQtcGF1c2U6YWN0aXZlLFxuICAgIC5vcmJpdCBidXR0b24ub3JiaXQtcGxheTphY3RpdmUge1xuICAgICAgdG9wOiAwLjEyNXJlbTsgfVxuXG4ucmVnaW9uLWJhY2tncm91bmQgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZWZlZmUgIWltcG9ydGFudDsgfVxuICAucmVnaW9uLWJhY2tncm91bmQgLm9yYml0IG5hdi5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gIC5yZWdpb24tYmFja2dyb3VuZCAub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG4ucmVnaW9uLWJhY2tncm91bmQgLm9yYml0IC5vcmJpdC1wcmV2aW91cyxcbi5yZWdpb24tYmFja2dyb3VuZCAub3JiaXQgLm9yYml0LW5leHQsXG4ucmVnaW9uLWJhY2tncm91bmQgLm9yYml0IC5vcmJpdC1wbGF5LFxuLnJlZ2lvbi1iYWNrZ3JvdW5kIC5vcmJpdCAub3JiaXQtcGF1c2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDApICFpbXBvcnRhbnQ7IH1cbiAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5vcmJpdCAub3JiaXQtcHJldmlvdXM6YmVmb3JlLFxuICAucmVnaW9uLWJhY2tncm91bmQgLm9yYml0IC5vcmJpdC1uZXh0OmJlZm9yZSxcbiAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5vcmJpdCAub3JiaXQtcGxheTpiZWZvcmUsXG4gIC5yZWdpb24tYmFja2dyb3VuZCAub3JiaXQgLm9yYml0LXBhdXNlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5yZWdpb24tYmFja2dyb3VuZCAub3JiaXQgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAucmVnaW9uLWJhY2tncm91bmQgLm9yYml0IC5vcmJpdC1wcmV2aW91czpmb2N1cyxcbiAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5vcmJpdCAub3JiaXQtbmV4dDpob3ZlcixcbiAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5vcmJpdCAub3JiaXQtbmV4dDpmb2N1cyxcbiAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5vcmJpdCAub3JiaXQtcGxheTpob3ZlcixcbiAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5vcmJpdCAub3JiaXQtcGxheTpmb2N1cyxcbiAgLnJlZ2lvbi1iYWNrZ3JvdW5kIC5vcmJpdCAub3JiaXQtcGF1c2U6aG92ZXIsXG4gIC5yZWdpb24tYmFja2dyb3VuZCAub3JiaXQgLm9yYml0LXBhdXNlOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC43KSAhaW1wb3J0YW50OyB9XG5cbi5hY2NvcmRpb24ge1xuICB3aWR0aDogMTAwJTsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2RTZFNkQ7IH1cbiAgLmFjY29yZGlvbiBsaS5hY2NvcmRpb24taXRlbSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWNjb3JkaW9uIGxpLmFjY29yZGlvbi1pdGVtID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZTkwNic7XG4gICAgICBmb250LWZhbWlseTogJ2N2cmlhLWljb25zJyAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZTtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xNHB4OyB9XG4gIC5hY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlID4gYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU5MDYnO1xuICAgIGZvbnQtZmFtaWx5OiAnY3ZyaWEtaWNvbnMnICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM2RTZFNkQ7IH1cbiAgLnRvb2x0aXA6YmVmb3JlIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNkU2RTZEICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICB3aWR0aDogMS40NXJlbSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMS40NXJlbSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSAhaW1wb3J0YW50O1xuICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogLTAuNnJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgIC50b29sdGlwOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDIuOHJlbSAhaW1wb3J0YW50OyB9IH1cbiAgLnRvb2x0aXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5pbmZvZ3JhcGgtZ3JvdXAge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoLWdyb3VwIHtcbiAgICAgIG1hcmdpbi10b3A6IDMuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW5mb2dyYXBoLWdyb3VwIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmluZm9ncmFwaC1ncm91cCAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLXJvdy1pbm5lciAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyLmluZm9ncmFwaC1hbGlnbi10b3Age1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0OyB9IH1cbiAgLmluZm9ncmFwaC1ncm91cCAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoaWMtcm93LXRhYmxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaGljLXJvdy10YWJsZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwLjhyZW07IH0gfVxuICAgIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaGljLXJvdy10YWJsZSAuaW5mb2dyYXBoLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaGljLXJvdy10YWJsZSAuaW5mb2dyYXBoLW51bWJlciB7XG4gICAgICBmb250LXNpemU6IDMuMTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuaW5mb2dyYXBoLWdyb3VwIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGhpYy1yb3ctdGFibGUgLmluZm9ncmFwaC1udW1iZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4zMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIuaW5mb2dyYXBoLWljb24tbnVtYmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmluZm9ncmFwaC1ncm91cCAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLXJvdy1pbm5lci5pbmZvZ3JhcGgtaWNvbi1udW1iZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLmluZm9ncmFwaC1ncm91cCAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLXJvdy1pbm5lciAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyIC5pbmZvZ3JhcGgtaWNvbiB7XG4gICAgZm9udC1mYW1pbHk6ICdjdnJpYS1pY29ucyc7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAgIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lciAuaW5mb2dyYXBoLWljb24uaW5mb2dyYXBoLWljb24tYm9sZDpiZWZvcmUge1xuICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMC4wNHJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lciAuaW5mb2dyYXBoLWljb24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9IH1cbiAgICAuaW5mb2dyYXBoLWdyb3VwIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogaW5oZXJpdDsgfVxuICAuaW5mb2dyYXBoLWdyb3VwIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDc2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1udW1iZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICAuaW5mb2dyYXBoLWdyb3VwIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGgtZ3JvdXAgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4uaW5mb2dyYXBoLWdyb3VwLWhvciAuaW5mb2dyYXBoLXJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW5mb2dyYXBoLWdyb3VwLWhvciAuaW5mb2dyYXBoLXJvdyB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5pbmZvZ3JhcGgtZ3JvdXAtaG9yIHtcbiAgICAvKiBJRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZSAqLyB9XG4gICAgLmluZm9ncmFwaC1ncm91cC1ob3IgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmluZm9ncmFwaC1ncm91cDpub3QoLmluZm9ncmFwaC1ncm91cC1ob3IpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5pbmZvZ3JhcGgtZ3JvdXA6bm90KC5pbmZvZ3JhcGgtZ3JvdXAtaG9yKSAuaW5mb2dyYXBoLXJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi5pbmZvZ3JhcGgtZ3JvdXAtdmVyLTNjb2wgLmluZm9ncmFwaC1yb3cge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLmluZm9ncmFwaC1ncm91cC12ZXItM2NvbCAuaW5mb2dyYXBoLXJvdyB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW5mb2dyYXBoLWdyb3VwLXZlci0zY29sIC5pbmZvZ3JhcGgtcm93Om50aC1jaGlsZCgybisxKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgLmluZm9ncmFwaC1ncm91cC12ZXItM2NvbCAuaW5mb2dyYXBoLXJvdzpudGgtY2hpbGQoMm4rMCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5pbmZvZ3JhcGgtZ3JvdXAtdmVyLTNjb2wgLmluZm9ncmFwaC1yb3cge1xuICAgICAgd2lkdGg6IDMzLjMlOyB9XG4gICAgICAuaW5mb2dyYXBoLWdyb3VwLXZlci0zY29sIC5pbmZvZ3JhcGgtcm93Om50aC1jaGlsZCgzbisyKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAgIC5pbmZvZ3JhcGgtZ3JvdXAtdmVyLTNjb2wgLmluZm9ncmFwaC1yb3c6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgICAgLmluZm9ncmFwaC1ncm91cC12ZXItM2NvbCAuaW5mb2dyYXBoLXJvdzpudGgtY2hpbGQoM24rMCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5pbmZvZ3JhcGgtZ3JvdXAtdmVyLTNjb2wgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICAuaW5mb2dyYXBoLWdyb3VwLXZlci0zY29sIC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgLmluZm9ncmFwaC1ncm91cC12ZXItM2NvbCAuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLXJvdy1pbm5lciAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyIC5pbmZvZ3JhcGgtaWNvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaW5mb2dyYXBoLWdyb3VwLXZlci0yY29sIC5pbmZvZ3JhcGgtcm93IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLmluZm9ncmFwaC1ncm91cC12ZXItMmNvbCAuaW5mb2dyYXBoLXJvdzpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgIC5pbmZvZ3JhcGgtZ3JvdXAtdmVyLTJjb2wgLmluZm9ncmFwaC1yb3c6bnRoLWNoaWxkKDJuKzApIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG5cbi5pbmZvZ3JhcGgtcm93LW5vLWJvcmRlciB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnJlZ2lvbi1iYWNrZ3JvdW5kIC5pbmZvZ3JhcGgtZ3JvdXAtaG9yIC5pbmZvZ3JhcGgtcm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gZG90dGVkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC40KTsgfVxuXG4ucmVnaW9uLWJhY2tncm91bmQgLmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lciAuaW5mb2dyYXBoLWljb246YmVmb3JlIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnJlZ2lvbi1iYWNrZ3JvdW5kIC5pbmZvZ3JhcGgtZ3JvdXA6bm90KC5pbmZvZ3JhcGgtZ3JvdXAtaG9yKSB7XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIGRvdHRlZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNCk7IH1cblxuLmluZm9ncmFwaC1yb3ctaW5uZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoLXJvdy1pbm5lci12ZXJ0aWNhbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH0gfVxuICAuaW5mb2dyYXBoLXJvdy1pbm5lci12ZXJ0aWNhbCAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmluZm9ncmFwaC1yb3ctaW5uZXItdmVydGljYWwgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lciAuaW5mb2dyYXBoLWljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5pbmZvZ3JhcGgtcm93LWlubmVyLXZlcnRpY2FsIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uIHtcbiAgICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4uaW5mb2dyYXBoLWdyb3VwLXZlci0yY29sIC5pbmZvZ3JhcGgtcm93LWlubmVyLXZlcnRpY2FsIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uIHtcbiAgaGVpZ2h0OiA1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnJldmVyc2UtaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmluZm9ncmFwaGljLTEtMyAuaW5mb2dyYXBoLWljb246YmVmb3JlIHtcbiAgY29sb3I6ICM4NTFBMTUgIWltcG9ydGFudDsgfVxuXG4uaW5mb2dyYXBoaWMtMS00IC5pbmZvZ3JhcGgtaWNvbjpiZWZvcmUge1xuICBjb2xvcjogIzg1MUExNSAhaW1wb3J0YW50OyB9XG5cbi5pbmZvZ3JhcGhpYy0xLTUgLmluZm9ncmFwaC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjMzM1MjcwICFpbXBvcnRhbnQ7IH1cblxuLmluZm9ncmFwaGljLTEgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lci5pbmZvZ3JhcGhpYy0xLTEwOmxhbmcoaHUpIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5pbmZvZ3JhcGhpYy0xIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIuaW5mb2dyYXBoaWMtMS0xMTpsYW5nKGh1KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uaW5mb2dyYXBoaWMtMSAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyLmluZm9ncmFwaGljLTEtMTE6bGFuZyhldCkge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmluZm9ncmFwaGljLTIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lci5pbmZvZ3JhcGhpYy0yLTYgLnJldmVyc2UtaW5mbzpsYW5nKGh1KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uaW5mb2dyYXBoaWMtMiAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyLmluZm9ncmFwaGljLTItNyAucmV2ZXJzZS1pbmZvOmxhbmcoaHUpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5pbmZvZ3JhcGhpYy0yIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIuaW5mb2dyYXBoaWMtMi04OmxhbmcoaHUpIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5pbmZvZ3JhcGgtaWNvbi1vcGFjaXR5IHtcbiAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoLWljb24tb3BhY2l0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmluZm9ncmFwaGljLTEwIHRib2R5LFxuLmluZm9ncmFwaGljLTE0IHRib2R5IHtcbiAgYm9yZGVyOiAwcHg7IH1cbiAgLmluZm9ncmFwaGljLTEwIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSxcbiAgLmluZm9ncmFwaGljLTE0IHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTlFQjsgfVxuICAuaW5mb2dyYXBoaWMtMTAgdGJvZHkgLmNlbnRlcixcbiAgLmluZm9ncmFwaGljLTE0IHRib2R5IC5jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGltZWxpbmUtYmxvY2sge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRpbWVsaW5lLWJsb2NrIC50aW1lbGluZS1pbWFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG4gIC50aW1lbGluZS1ibG9jayAudGltZWxpbmUtaW1hZ2UgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAyLjM4M3JlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAudGltZWxpbmUtYmxvY2sgLnRpbWVsaW5lLWltYWdlIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQuMDgzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50aW1lbGluZS1ibG9jay50aW1lbGluZS1ibG9jay0xMiAudGltZWxpbmUtaW1hZ2UgaW1nIHtcbiAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC50aW1lbGluZS1ibG9jazpsYXN0LWNoaWxkIC50aW1lbGluZS1pbWFnZSBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50aW1lbGluZS1ibG9jayB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC50aW1lbGluZS1ibG9jazpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnRpbWVsaW5lLWJsb2NrIC50aW1lbGluZS10ZXh0IGgzIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50aW1lbGluZS1ibG9jayAudGltZWxpbmUtdGV4dCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLnRpbWVsaW5lLWJsb2NrIC50aW1lbGluZS1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnRpbWVsaW5lLWJsb2NrOm50aC1jaGlsZChvZGQpIC50aW1lbGluZS10ZXh0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnRpbWVsaW5lLWJsb2NrOm50aC1jaGlsZChvZGQpIC50aW1lbGluZS1pbWFnZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC50aW1lbGluZS1ibG9jazpudGgtY2hpbGQoZXZlbikgLnRpbWVsaW5lLXRleHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC50aW1lbGluZS1ibG9jazpudGgtY2hpbGQoZXZlbikgLnRpbWVsaW5lLWltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLnRvcC1saW5rIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICBib3R0b206IC00MXB4O1xuICByaWdodDogLTMycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgM2VtIDNlbSAwO1xuICBib3JkZXItcmFkaXVzOiA4MHB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB3aWR0aDogNzJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRvcC1saW5rIHtcbiAgICAgIHJpZ2h0OiAtMTJweDsgfSB9XG4gIC50b3AtbGluay5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnRvcC1saW5rLmhpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC50b3AtbGluayAudG9wLWxpbmstaWNvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA4MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZEOyB9XG4gIC50b3AtbGluayAudG9wLWxpbmstaWNvbjpiZWZvcmUge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2hhcmUtYmxvY2sge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDA7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zaGFyZS1ibG9jayB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5zaGFyZS1ibG9jayB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07IH0gfVxuICAuc2hhcmUtYmxvY2sgdWwubWVudSBsaSBhLmljb24sIC5zaGFyZS1ibG9jayB1bC5tZW51IGhlYWRlciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSwgaGVhZGVyIC5zaGFyZS1ibG9jayB1bC5tZW51IC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcbiAgICAgIC5zaGFyZS1ibG9jayB1bC5tZW51IGxpIGEuaWNvbiwgLnNoYXJlLWJsb2NrIHVsLm1lbnUgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhLCBoZWFkZXIgLnNoYXJlLWJsb2NrIHVsLm1lbnUgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuc2hhcmUtYmxvY2sgLnNoYXJlLWNvbnRlbnQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLnNoYXJlLWJsb2NrIC5zaGFyZS1jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuICAgICAgLnNoYXJlLWJsb2NrIC5zaGFyZS1jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwOyB9IH1cbiAgICAuc2hhcmUtYmxvY2sgLnNoYXJlLWNvbnRlbnQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuc2hhcmUtYmxvY2sgLnNoYXJlLWNvbnRlbnQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcbiAgICAgICAgLnNoYXJlLWJsb2NrIC5zaGFyZS1jb250ZW50Om50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcoZnIpIHtcbiAgICAgIHRvcDogMTE1cHg7IH1cbiAgICAuc2hhcmUtYmxvY2s6bGFuZyhwdCkge1xuICAgICAgdG9wOiAxMjBweDsgfVxuICAgIC5zaGFyZS1ibG9jazpsYW5nKGVzKSB7XG4gICAgICB0b3A6IDE1NXB4OyB9XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcoYmcpIHtcbiAgICAgIHRvcDogMTM2cHg7IH1cbiAgICAuc2hhcmUtYmxvY2s6bGFuZyhjcykge1xuICAgICAgdG9wOiAxMzZweDsgfVxuICAgIC5zaGFyZS1ibG9jazpsYW5nKGRhKSB7XG4gICAgICB0b3A6IDEzNnB4OyB9XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcoZWwpIHtcbiAgICAgIHRvcDogOTZweDsgfVxuICAgIC5zaGFyZS1ibG9jazpsYW5nKGh1KSB7XG4gICAgICB0b3A6IDEzNnB4OyB9XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcobHQpIHtcbiAgICAgIHRvcDogMTA2cHg7IH1cbiAgICAuc2hhcmUtYmxvY2s6bGFuZyhybykge1xuICAgICAgdG9wOiAxMDBweDsgfVxuICAgIC5zaGFyZS1ibG9jazpsYW5nKGRlKSB7XG4gICAgICB0b3A6IDExNXB4OyB9XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcobXQpIHtcbiAgICAgIHRvcDogMTA1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAgIC5zaGFyZS1ibG9jazpsYW5nKGZyKSB7XG4gICAgICB0b3A6IDE0NXB4OyB9XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcoYmcpIHtcbiAgICAgIHRvcDogMTM2cHg7IH1cbiAgICAuc2hhcmUtYmxvY2s6bGFuZyhodSkge1xuICAgICAgdG9wOiAxMjZweDsgfVxuICAgIC5zaGFyZS1ibG9jazpsYW5nKGx0KSB7XG4gICAgICB0b3A6IDExNnB4OyB9XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcocm8pIHtcbiAgICAgIHRvcDogMTIwcHg7IH1cbiAgICAuc2hhcmUtYmxvY2s6bGFuZyhlbCkge1xuICAgICAgdG9wOiAxMTBweDsgfVxuICAgIC5zaGFyZS1ibG9jazpsYW5nKHNsKSB7XG4gICAgICB0b3A6IDEyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuc2hhcmUtYmxvY2s6bGFuZyhkZSkge1xuICAgICAgdG9wOiAxMzVweDsgfVxuICAgIC5zaGFyZS1ibG9jazpsYW5nKGhyKSB7XG4gICAgICB0b3A6IDE0NXB4OyB9XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcoYmcpIHtcbiAgICAgIHRvcDogMTYwcHg7IH1cbiAgICAuc2hhcmUtYmxvY2s6bGFuZyhodSkge1xuICAgICAgdG9wOiAxNTZweDsgfVxuICAgIC5zaGFyZS1ibG9jazpsYW5nKHBsKSB7XG4gICAgICB0b3A6IDE1NnB4OyB9XG4gICAgLnNoYXJlLWJsb2NrOmxhbmcoZWwpIHtcbiAgICAgIHRvcDogMTM1cHg7IH1cbiAgICAuc2hhcmUtYmxvY2s6bGFuZyhtdCkge1xuICAgICAgdG9wOiAxNDVweDsgfSB9XG5cbi5wYWdlLWhvbWUgLnNoYXJlLWJsb2NrIHtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLnBhZ2UtaG9tZSAuc2hhcmUtYmxvY2sgdWwubWVudSBsaSBhLmljb24sIC5wYWdlLWhvbWUgLnNoYXJlLWJsb2NrIHVsLm1lbnUgaGVhZGVyIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhLCBoZWFkZXIgLnBhZ2UtaG9tZSAuc2hhcmUtYmxvY2sgdWwubWVudSAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLnBhZ2UtaG9tZSAuc2hhcmUtYmxvY2sgLnNoYXJlLWNvbnRlbnQ6bnRoLWNoaWxkKDIpIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMGEwYTBhOyB9XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuc2hhcmUtYmxvY2sgLnNoYXJlLWNvbnRlbnQ6bnRoLWNoaWxkKDEpLFxuICAuc2hhcmUtYmxvY2sgLnNoYXJlLWNvbnRlbnQ6bnRoLWNoaWxkKDMpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtOHB4OyB9IH1cblxuLm1lbWJlcnMtYmxvY2sgLmNvbHVtbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0ge1xuICAgIHdpZHRoOiAzMC42JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgIG1hcmdpbi1ib3R0b206IDclOyB9XG4gICAgLm1lbWJlcnMtYmxvY2sgLm1lbWJlci1pdGVtOm50aC1jaGlsZCgzbiswKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZW1iZXJzLWJsb2NrIC5tZW1iZXItaXRlbSB7XG4gICAgd2lkdGg6IDIyLjc0JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgIG1hcmdpbi1ib3R0b206IDQlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW06bnRoLWNoaWxkKDRuKzApIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0ge1xuICAgIHdpZHRoOiA0NyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA2JTtcbiAgICBtYXJnaW4tYm90dG9tOiA3JTsgfVxuICAgIC5tZW1iZXJzLWJsb2NrIC5tZW1iZXItaXRlbTpudGgtY2hpbGQoMm4rMCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0ge1xuICAgIHdpZHRoOiAxNy42JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgIG1hcmdpbi1ib3R0b206IDQlOyB9XG4gICAgLm1lbWJlcnMtYmxvY2sgLm1lbWJlci1pdGVtOm50aC1jaGlsZCg1biswKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0gaW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1lbWJlcnMtYmxvY2sgLm1lbWJlci1pdGVtIC5tZW1iZXItZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiA1JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbWJlcnMtYmxvY2sgLm1lbWJlci1pdGVtIC5tZW1iZXItZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG5cbi5tZW1iZXJzLWJsb2NrIC5tZW1iZXItaXRlbSAubWVtYmVyLWRlc2NyaXB0aW9uIGgzIHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW5zYW5zLXJlZ1wiLCBzYW5zLXNlcmlmLCBSb2JvdG8sIEFyaWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5tZW1iZXJzLWJsb2NrIC5tZW1iZXItaXRlbSAubWVtYmVyLWRlc2NyaXB0aW9uIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgfSB9XG5cbi5tZW1iZXJzLWJsb2NrIC5tZW1iZXItaXRlbSAubWVtYmVyLWRlc2NyaXB0aW9uIGRpdiB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0gLm1lbWJlci1kZXNjcmlwdGlvbiBkaXYge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuLnZpZGVvX19pZnJhbWU6bm90KFtzcmNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnZpZGVvX19pZnJhbWVbc3JjXSArIC52aWRlb19fbm90aWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udmlkZW8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDNDNzY7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLnByaXZhY3ktdmlkZW9zIGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5wcml2YWN5LXZpZGVvcyBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cblxuLnZpZGVvOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7IH1cblxuLnZpZGVvX19ub3RpY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuOCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMS41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIC52aWRlb19fbm90aWNlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gIC52aWRlb19fbm90aWNlIGEge1xuICAgIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cblxuLnZpZGVvX19ub3RpY2UgPiAqIHtcbiAgbWF4LXdpZHRoOiAzOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4udmlkZW9fX25vdGljZSA+IGJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmVmZWZlO1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAycmVtOyB9XG5cbi52aWRlb19fbm90aWNlID4gYnV0dG9uOmhvdmVyLFxuLnZpZGVvX19ub3RpY2UgPiBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAzcHggc29saWQgI2ZlZmVmZTsgfVxuXG51bC5oaWdodGxpZ2h0cy1hbmNob3JzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2RTZFNkQ7XG4gIGJveC1zaGFkb3c6IC0wLjEyNXJlbSAtMC4wNjNyZW0gMS44MTNyZW0gMC4yNXJlbSByZ2JhKDEwLCAxMCwgMTAsIDAuMTMpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICB1bC5oaWdodGxpZ2h0cy1hbmNob3JzIHtcbiAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICB1bC5oaWdodGxpZ2h0cy1hbmNob3JzIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNHJlbTsgfVxuICB1bC5oaWdodGxpZ2h0cy1hbmNob3JzIGxpIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIHVsLmhpZ2h0bGlnaHRzLWFuY2hvcnMgbGkgYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIHVsLmhpZ2h0bGlnaHRzLWFuY2hvcnMgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIHVsLmhpZ2h0bGlnaHRzLWFuY2hvcnMgbGkgYTpmb2N1cyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpICFpbXBvcnRhbnQ7XG4gICAgICBvdXRsaW5lOiAwLjEyNXJlbSBzb2xpZCAjMGEwYTBhOyB9XG4gICAgdWwuaGlnaHRsaWdodHMtYW5jaG9ycyBsaSBhOmFmdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTAuMnJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIHVsLmhpZ2h0bGlnaHRzLWFuY2hvcnMgbGkgYTphZnRlciB7XG4gICAgICAgICAgdG9wOiAxLjRyZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIHVsLmhpZ2h0bGlnaHRzLWFuY2hvcnMgbGkgYSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICB1bC5oaWdodGxpZ2h0cy1hbmNob3JzIGxpIGEgc3Bhbi5mb2N1cy1ibGFjayB7XG4gICAgY29sb3I6ICM1NjU2NTY7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgdWwuaGlnaHRsaWdodHMtYW5jaG9ycyBsaS5uby1mb2N1cy10ZXh0IGEgc3Bhbi5mb2N1cy1ibGFjayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuM3JlbTsgfSB9XG4gIHVsLmhpZ2h0bGlnaHRzLWFuY2hvcnMgbGkubm8tZm9jdXMtdGV4dDpsYXN0LWNoaWxkIGEgc3Bhbi5mb2N1cy1ibGFjazpsYW5nKGJnKSB7XG4gICAgd2lkdGg6IDQuNHJlbTsgfVxuICB1bC5oaWdodGxpZ2h0cy1hbmNob3JzIGxpLm5vLWZvY3VzLXRleHQ6bGFzdC1jaGlsZCBhIHNwYW4uZm9jdXMtYmxhY2s6bGFuZyhldCkge1xuICAgIHdpZHRoOiAzLjRyZW07IH1cbiAgdWwuaGlnaHRsaWdodHMtYW5jaG9ycyBsaS5uby1mb2N1cy10ZXh0Omxhc3QtY2hpbGQgYSBzcGFuLmZvY3VzLWJsYWNrOmxhbmcoaHUpIHtcbiAgICB3aWR0aDogMy4zcmVtOyB9XG4gIHVsLmhpZ2h0bGlnaHRzLWFuY2hvcnMgbGkubm8tZm9jdXMtdGV4dDpsYXN0LWNoaWxkIGEgc3Bhbi5mb2N1cy1ibGFjazpsYW5nKHNrKSB7XG4gICAgd2lkdGg6IDQuOXJlbTsgfVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuLyogQGdyb3VwIENVU1RPTSBGb250cyAqL1xuXG5cdC8vZ2xvYmFsIGZvbnQgZmFtaWx5IC0gT3BlbitTYW5zXG5cdC8vQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOml0YWwsd2dodEAwLDQwMDswLDYwMDswLDcwMDswLDgwMDsxLDQwMDsxLDYwMDsxLDcwMDsxLDgwMCZkaXNwbGF5PXN3YXAnKTtcblx0QGZvbnQtZmFjZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICdvcGVuc2Fucy1yZWcnO1xuXHRcdHNyYzogdXJsKCcuLi9mb250cy9vcGVuLXNhbnMvT3BlblNhbnMtUmVndWxhci5lb3QnKTtcblx0XHRzcmM6IHVybCgnLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuXHRcdHVybCgnLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuXHRcdHVybCgnLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuXHR9XG5cblx0QGZvbnQtZmFjZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICdvcGVuc2Fucy1ib2xkJztcblx0XHRzcmM6IHVybCgnLi4vZm9udHMvb3Blbi1zYW5zL09wZW5TYW5zLUJvbGQuZW90Jyk7XG5cdFx0c3JjOiB1cmwoJy4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG5cdFx0dXJsKCcuLi9mb250cy9vcGVuLXNhbnMvT3BlblNhbnMtQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0XHR1cmwoJy4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcblx0fVxuXG5cdEBmb250LWZhY2Uge1xuXHRcdGZvbnQtZmFtaWx5OiAnb3BlbnNhbnMtZXh0cmEtYm9sZCc7XG5cdFx0c3JjOiB1cmwoJy4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1FeHRyYUJvbGQuZW90Jyk7XG5cdFx0c3JjOiB1cmwoJy4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1FeHRyYUJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1FeHRyYUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG5cdFx0dXJsKCcuLi9mb250cy9vcGVuLXNhbnMvT3BlblNhbnMtRXh0cmFCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL29wZW4tc2Fucy9PcGVuU2Fucy1FeHRyYUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuXHR9XG5cblxuLyogQGdyb3VwIENVU1RPTSB2YXJpYWJsZXMgKi9cblx0QGltcG9ydCBcImNvbXBvbmVudHMvYmFzZS9jdXN0b20tdmFyaWFibGVzXCI7XG5cbi8qIEBncm91cCBGT1VOREFUSU9OIGltcG9ydHMgKi9cblxuXHRAaW1wb3J0ICdzZXR0aW5ncyc7XG5cdEBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuXHRAaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcblx0Ly8gQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcblx0Ly9cblx0IEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuXHQvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcblx0QGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXHRAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuXHQvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cdEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG5cdC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cblx0QGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuXHRAaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLyogQGdyb3VwIENVU1RPTSBpbXBvcnRzICovXG5cblx0Ly8gQ3VzdG9tIGNvbW1vblxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9iYXNlL2NvbW1vblwiO1xuXG5cdC8vIEJ1dHRvbnNcblx0QGltcG9ydCBcImNvbXBvbmVudHMvYmFzZS9idXR0b25zXCI7XG5cblx0Ly8gQ3VzdG9tIGljb25zXG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL2Jhc2UvaWNvbnNcIjtcblxuXHQvLyBQcmludFxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9iYXNlL3ByaW50XCI7XG5cblx0Ly8gQW5pbWF0aW9uc1xuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9iYXNlL2FuaW1hdGlvbnNcIjtcblxuXHQvLyBNaXhpblxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9iYXNlL21peGluc1wiO1xuXG5cdC8vIEhvbWUgcGFnZVxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9wYWdlcy9ob21lXCI7XG5cblx0Ly8gSW5uZXIgcGFnZXNcblx0QGltcG9ydCBcImNvbXBvbmVudHMvcGFnZXMvaW5uZXItcGFnZXNcIjtcblxuXHQvLyA0MDQgRXJyb3IgUGFnZVxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9wYWdlcy80MDQtcGFnZVwiO1xuXG5cdC8vIEltYWdlc1xuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9sYXlvdXQvaW1hZ2VzXCI7XG5cblx0Ly8gQnJlYWRjcnVtYlxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9sYXlvdXQvYnJlYWRjcnVtYlwiO1xuXG5cdC8vIEZvb3RlclxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9sYXlvdXQvZm9vdGVyXCI7XG5cblx0Ly8gSGVhZGVyXG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL2xheW91dC9oZWFkZXJcIjtcblxuXHQvLyBUYWJsZXNcblx0QGltcG9ydCBcImNvbXBvbmVudHMvbGF5b3V0L3RhYmxlc1wiO1xuXG5cdC8vIE1lbnVcblx0QGltcG9ydCBcImNvbXBvbmVudHMvbGF5b3V0L21lbnUtaXRlbXNcIjtcblxuXHQvLyBIZXJvIEJhbm5lclxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9tb2R1bGVzL2hlcm8tYmFubmVyXCI7XG5cblx0Ly8gU29jaWFsc1xuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9tb2R1bGVzL3NvY2lhbHNcIjtcblxuXHQvLyBMb2FkZXJcblx0QGltcG9ydCBcImNvbXBvbmVudHMvbW9kdWxlcy9sb2FkZXJcIjtcblxuXHQvLyBPcmRpdCAtIFNsaWRlclxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9tb2R1bGVzL29yZGl0LXNsaWRlclwiO1xuXG5cdC8vIEFjY29yZGlvblxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9tb2R1bGVzL2FjY29yZGlvblwiO1xuXG5cdC8vIFRvb2x0aXBcblx0QGltcG9ydCBcImNvbXBvbmVudHMvbW9kdWxlcy90b29sdGlwXCI7XG5cblx0Ly8gSW5mb2dyYXBoaWNzXG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL21vZHVsZXMvaW5mb2dyYXBoaWNzXCI7XG5cblx0Ly8gVGltZWxpbmVcblx0QGltcG9ydCBcImNvbXBvbmVudHMvbW9kdWxlcy90aW1lbGluZVwiO1xuXG5cdC8vIEdvIHRvIHRvcFxuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9tb2R1bGVzL2dvLXRvLXRvcFwiO1xuXG5cdC8vIFNoYXJlIEJsb2NrXG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL21vZHVsZXMvc2hhcmUtYmxvY2tcIjtcblxuXHQvLyBNZW1iZXJzIGJsb2NrXG5cdEBpbXBvcnQgXCJjb21wb25lbnRzL21vZHVsZXMvbWVtYmVycy1ibG9ja1wiO1xuXG5cdC8vIFlvdXR1YmUgQ29va2llc1xuXHRAaW1wb3J0IFwiY29tcG9uZW50cy9tb2R1bGVzL3lvdXR1YmUtY29va2llc1wiO1xuXG5cdC8vIEZvY3VzIGFuY2hvcnMgYmxvY2tcblx0QGltcG9ydCBcImNvbXBvbmVudHMvbW9kdWxlcy9oaWdodGxpZ2h0cy1hbmNob3JzLWJsb2NrLnNjc3NcIjtcblx0XG5cblxuXG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy9NeSBnZW5lcmFsIHJ1bGVzXG4kc3BhY2luZ3M6IChcbiAgMjogICAgICAgIHJlbS1jYWxjKDIpLFxuICA0OiAgICAgICAgcmVtLWNhbGMoNCksXG4gIDg6ICAgICAgICByZW0tY2FsYyg4KSxcbiAgMTY6ICAgICAgIHJlbS1jYWxjKDE2KSxcbiAgMjQ6ICAgICAgIHJlbS1jYWxjKDI0KSxcbiAgMzI6ICAgICAgIHJlbS1jYWxjKDMyKSxcbiAgNDA6ICAgICAgIHJlbS1jYWxjKDQwKSxcbiAgNDg6ICAgICAgIHJlbS1jYWxjKDQ4KSxcbiAgNTY6ICAgICAgIHJlbS1jYWxjKDU2KSxcbiAgNjQ6ICAgICAgIHJlbS1jYWxjKDY0KSxcbiAgNzI6ICAgICAgIHJlbS1jYWxjKDcyKSxcbiAgODA6ICAgICAgIHJlbS1jYWxjKDgwKSxcbiAgMTI4OiAgICAgIHJlbS1jYWxjKDEyOCksXG4gIDE4MDogICAgICByZW0tY2FsYygxODApXG4pO1xuLy8qIEBncm91cCBBTkNIT1IgRlVOQ1RJT04gKi8vXG5cbi8vIFVTRTogRXh0cmFjdCBhIHNwZWNpZmljIHNwYWNpbmcgZnJvbSBzcGFjaW5ncyBtYXBcbi8vIEFVVEhPUjogTlBcbi8vIEVYQU1QTEVTOlxuLy8gIHBhZGRpbmctdG9wOiBzcGFjaW5nKDE2KTtcbi8vICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZyg0OCk7XG5AZnVuY3Rpb24gc3BhY2luZygkc3BhY2luZy1udW1iZXIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRzcGFjaW5ncywgJHNwYWNpbmctbnVtYmVyKTtcbn1cbi8vTW9yZSBTcGFjaW5nc1xuJHNwYWNpbmdzLW1vcmU6IChcbiAgMTA6ICAgICAgIHJlbS1jYWxjKDEwKSxcbiAgMTI6ICAgICAgIHJlbS1jYWxjKDEyKSxcbiAgMTM6ICAgICAgIHJlbS1jYWxjKDEzKSxcbiAgMTQ6ICAgICAgIHJlbS1jYWxjKDE0KSxcbiAgMTU6ICAgICAgIHJlbS1jYWxjKDE1KSxcbiAgMTc6ICAgICAgIHJlbS1jYWxjKDE3KSxcbiAgMTk6ICAgICAgIHJlbS1jYWxjKDE5KSxcbiAgMjA6ICAgICAgIHJlbS1jYWxjKDIwKSxcbiAgMjg6ICAgICAgIHJlbS1jYWxjKDI4KSxcbiAgNjY6ICAgICAgIHJlbS1jYWxjKDY2KSxcbiAgOTA6ICAgICAgIHJlbS1jYWxjKDkwKSxcbiAgMTA0OiAgICAgIHJlbS1jYWxjKDEwNCksXG4gIDEzNjogICAgICByZW0tY2FsYygxMzYpLFxuICAxNDQ6ICAgICAgcmVtLWNhbGMoMTQ0KSxcbiAgMTYwOiAgICAgIHJlbS1jYWxjKDE2MClcbik7XG5AZnVuY3Rpb24gc3BhY2luZy1tb3JlKCRzcGFjaW5nLW51bWJlcikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHNwYWNpbmdzLW1vcmUsICRzcGFjaW5nLW51bWJlcik7XG59XG4vLyBFWEFNUExFUzpcbi8vICBwYWRkaW5nLXRvcDogc3BhY2luZy1tb3JlKDEwNCk7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogMTAwJTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiM2RTZFNkQsXG4gIHNlY29uZGFyeTojQzhBRTcwLFxuICBzdWNjZXNzOiAjM0U1MTZFLFxuICB3YXJuaW5nOiAjMDAwMDAwLFxuICBhbGVydDogIzg1MUExNSxcbik7XG5cbi8vTXkgR3JheSBQYWxsZXRlXG4kZ3JleS1jb2xvcjogKFxuICAgMDogICAjRTNFM0UzLFxuICAgMTogICAjNkU2RTZELFxuICAgMjogICAjQzVDNUM1LFxuICAgMzogICAjNTY1NjU2XG4pO1xuLy8gRlVOQ1RJT05cbkBmdW5jdGlvbiBncmV5KCRjb2xvci1udW1iZXIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmV5LWNvbG9yLCAkY29sb3ItbnVtYmVyKTtcbn1cbi8vIEVYQU1QTEVTOlxuLy8gIGNvbG9yOiBncmV5KDEpO1xuLy8gICRhbmNob3ItY29sb3I6IGdyZXkoMik7XG5cbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRibG9jay1iYWNrZ3JvdW5kOiAjZWVlOWUyO1xuJGJsb2NrLWJvcmRlcjogI2NlYTk3NDtcbiRibG9jay1iYWNrZ3JvdW5kLXJpZ2h0OiAjZTRlZmY4O1xuJGJsb2NrLWJvcmRlci1yaWdodDogIzdjOGZiMTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAnb3BlbnNhbnMtcmVnJywgc2Fucy1zZXJpZiwgUm9ib3RvLCBBcmlhbDtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDEwcHg7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC42cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbiRvcGVuc2Fucy1yZWc6ICdvcGVuc2Fucy1yZWcnO1xuJG9wZW5zYW5zLWJvbGQ6ICdvcGVuc2Fucy1ib2xkJztcbiRvcGVuc2Fucy1leHRyYS1ib2xkOiAnb3BlbnNhbnMtZXh0cmEtYm9sZCc7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA3NjhweCxcbiAgbGFyZ2U6IDEyMDBweCxcbiAgeGxhcmdlOiAxMzY2cHgsXG4gIHh4bGFyZ2U6IDE2MDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogc21hbGw7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiBzcGFjaW5nKDI0KSxcbiAgbWVkaXVtOiBzcGFjaW5nKDQ4KSxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS4yO1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjYpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTYpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTUpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDMyKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI2KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE1KSxcbiAgKSxcbiAgbGFyZ2U6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDU2KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDM0KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxLjhyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbio1IGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogIzQ0NDtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAwIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAjZmZmO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogcmdiYSgjZmZmLDAuNSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiByZ2JhKCNmZmYsMC41KTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogMCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAwO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMCAwO1xuJGNhbGxvdXQtcGFkZGluZzogMTB2dztcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogMDtcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqNDtcbiRyZXZlYWwtYm9yZGVyOiAwO1xuLy8gJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC1yYWRpdXM6IDA7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDE0IDE0IDE0IDE0KTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgKiAzO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAwO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjA7XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyBkYXJrLWJsdWUtY29sb3JcbiRkYXJrLWJsdWUtY29sb3I6ICMzMzUyNzA7IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sdW1uLWd1dHRlcigpLiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2wtZ3V0dGVyKCkuIGdyaWQtY29sLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLy9TbW9vdGggU2Nyb2xsIC0gd2UgaGF2ZSB0byBkbyB0aGlzIHdpdGggamF2YSBzY3JpcHQgLSBTY3JvbGwtYmVoYXZpb3IgZG9lc24ndCBzdXBwb3J0IG1hbnkgYnJvd3NlcnNcclxuaHRtbCB7XHJcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbmJvZHkge1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUge1xyXG5cdGZvbnQtZmFtaWx5OiAnb3BlbnNhbnMtYm9sZCc7XHJcbn1cclxuXHJcbi8vZXh0cmEgYm9sZCBmb250IHdlaWdodCBcclxuLmV4dHJhLWJvbGQge1xyXG5cdGZvbnQtZmFtaWx5OiAnb3BlbnNhbnMtZXh0cmEtYm9sZCc7XHJcbn1cclxuXHJcbi8vYmFja2dyb3VuZCBjb2xvciBmb3IgZXhwYW5kZWQgcm93c1xyXG4uZXhwYW5kZWQtYmFja2dyb3VuZC1jb2xvciB7XHJcblx0aDI6YmVmb3JlIHtcclxuXHRcdGJvcmRlci1jb2xvcjogcmdiYSgkd2hpdGUsIDAuNCkgIWltcG9ydGFudDtcclxuXHR9XHJcblx0Y29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuYTpmb2N1cy12aXNpYmxlLFxyXG5hOmZvY3VzLXZpc2libGUgaW1nIHtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbn1cclxuXHJcbi5yb3c6bm90KGhlYWRlcikge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxufVxyXG5cclxuLy8gZml4ZXMgYWNjZXNzaWJpbGl0eSBpc3N1ZXMgZm9yIHdhdmVcclxuYm9keSAubWFpbi1jb250ZW50IC5zaG93LWZvci1zciB7XHJcblx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG59XHJcblxyXG4ucm93LmV4cGFuZGVkLFxyXG4ucm93IHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHNwYWNpbmcoMjQpICFpbXBvcnRhbnQ7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nKDI0KSAhaW1wb3J0YW50O1xyXG5cclxuXHRcdC5yb3cge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiBzcGFjaW5nKDMyKTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNpbmcoMzIpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiBzcGFjaW5nKDI0KTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNpbmcoMjQpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHNwYWNpbmcoNDgpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2luZyg0OCk7XHJcblx0fVxyXG59XHJcblxyXG4ucm93ID4gLnJvdyB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XHJcbiAgICBcdG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5yb3c6bm90KC5yb3ctb3JkZXIpID4gLnJvdyA+IC5jb2x1bW5zIHtcclxuXHQmLmxhcmdlLTY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdH1cclxuXHJcblx0Ji5sYXJnZS02Omxhc3QtY2hpbGQge1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5yb3cucm93LW9yZGVyID4gLnJvdyA+IC5jb2x1bW5zIHtcclxuXHQmLmxhcmdlLTY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHR9XHJcblxyXG5cdCYubGFyZ2UtNjpsYXN0LWNoaWxkIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5yb3cgPiAucm93ID4gLmNvbHVtbnMge1xyXG5cdCYubGFyZ2UtMTIge1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHR9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdCAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcdFxyXG59XHJcblxyXG4vL0hlYWRpbmdzXHJcbmgyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLWJvdHRvbTogc3BhY2luZyg0MCk7XHJcblx0bGluZS1oZWlnaHQ6IHNwYWNpbmcoNDgpO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRsaW5lLWhlaWdodDogc3BhY2luZygzMik7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBzcGFjaW5nKDMyKTtcclxuXHR9XHJcbn1cclxuXHJcbi8vZm9yIGlubmVyIHBhZ2VzXHJcbi5pbm5lci1wYWdlIGgyIHtcclxuXHRAZXh0ZW5kICVpbmRpY2F0b3I7XHJcbn1cclxuXHJcbi8vU3R5bGUgZm9yIGluZm9ncmFwaGljIGltYWdlc1xyXG5maWd1cmUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi8vTmF2aWdhdGlvbiBTa2lwIExpbmtzIEZvciBBY2Nlc3NpYmlsaXR5XHJcbi5za2lwLWxpbmsge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR1bCBsaSB7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdH1cclxuXHR1bCBsaSBhIHtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMHB4O1xyXG5cdFx0cmlnaHQ6IDEwMCU7XHJcblx0XHRwYWRkaW5nOiAwLjYyNXJlbTtcclxuXHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDEzKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdHotaW5kZXg6IDA7XHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0cmlnaHQ6IGF1dG87XHJcblx0XHRcdHotaW5kZXg6IDEwMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vL1Jvd1xyXG4ucm93IHtcclxuXHRtYXgtd2lkdGg6IDEwMjRweDtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRwYWRkaW5nOiAwIHNwYWNpbmcoMTYpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0cGFkZGluZzogMCBzcGFjaW5nKDE2KTtcclxuXHR9XHJcbn1cclxuXHJcbi8vUXVvdGVcclxuLnBhZ2UtaG9tZSBwLnB1bGwtcXVvdGUge1xyXG5cdFxyXG5cdG1heC13aWR0aDogY2FsYygxMDAlIC0gNTZweCk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcclxuXHR9XHJcbn1cclxuXHJcbnAucHVsbC1xdW90ZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbjogYXV0bztcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0aDIge1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBzcGFjaW5nLW1vcmUoMjgpO1xyXG5cdFx0fVx0XHJcblx0fVxyXG5cdC8vICY6YmVmb3JlLFxyXG5cdC8vICY6YWZ0ZXIge1xyXG5cclxuXHQvLyBcdC8vIGZvbnQtc2l6ZTogc3BhY2luZygzMik7XHJcblxyXG5cdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQvLyBcdFx0Zm9udC1zaXplOiA2MHB4O1xyXG5cdC8vIFx0fVxyXG5cclxuXHQvLyBcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0Ly8gXHRmb250LWZhbWlseTogJ2N2cmlhLWljb25zJztcclxuXHQvLyBcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gJjpiZWZvcmUge1xyXG5cdC8vIFx0bWFyZ2luLWxlZnQ6IC0zMnB4O1xyXG5cdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQvLyBcdFx0bWFyZ2luLWxlZnQ6IC02MHB4O1xyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHJcblx0Ly8gJjphZnRlciB7XHJcblx0Ly8gXHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHQvLyBcdG1hcmdpbi1yaWdodDogLTMycHg7XHJcblx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC8vIFx0XHRtYXJnaW4tcmlnaHQ6IC02MHB4O1xyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHJcblx0Ly8gQGV4dGVuZCAuaWNvbi1xdW90ZS1sZWZ0O1xyXG5cdC8vIEBleHRlbmQgLmljb24tcXVvdGUtcmlnaHQ7XHJcblxyXG5cdC5uYW1lLXN1cm5hbWUge1xyXG5cdFx0Zm9udC1zaXplOiBzcGFjaW5nLW1vcmUoMjgpO1xyXG5cdFx0bWFyZ2luLXRvcDogc3BhY2luZygzMik7XHJcblx0XHRAZXh0ZW5kICVpbmRpY2F0b3I7XHJcblx0XHQvLyAmOmJlZm9yZSB7XHJcblx0XHQvLyBcdHdpZHRoOiBzcGFjaW5nKDQ4KSAhaW1wb3J0YW50O1xyXG5cdFx0Ly8gfVxyXG5cdH1cclxuXHQuam9iIHtcclxuXHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDIwKTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIHNsIGxhbmdcclxuLy8gYm9keTpsYW5nKHNsKSBxLnB1bGwtcXVvdGUge1xyXG4vLyBcdCY6YmVmb3JlIHtcclxuLy8gXHRcdGNvbnRlbnQ6ICdcXGU5MTMnO1xyXG4vLyBcdFx0dG9wOiAtNXB4O1xyXG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyBcdH1cclxuXHJcbi8vIFx0JjphZnRlciB7XHJcbi8vIFx0XHRjb250ZW50OiAnXFxlOTEyJztcclxuLy8gXHRcdG1hcmdpbi10b3A6IC0zMHB4O1xyXG4vLyBcdH1cclxuLy8gfVxyXG5cclxuLy8gc3YgbGFuZ1xyXG4vLyBxLnB1bGwtcXVvdGU6bGFuZyhzdikge1xyXG4vLyBcdCY6YmVmb3JlIHtcclxuLy8gXHRcdGNvbnRlbnQ6ICdcXGU5MTMnO1xyXG4vLyBcdH1cclxuLy8gfVxyXG5cclxuLy9RdW90ZSBmb3IgaW5uZXIgcGFnZXNcclxuLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlIHtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxuXHRtYXJnaW4tYm90dG9tOiBzcGFjaW5nKDMyKTtcclxuXHRwYWRkaW5nLWxlZnQ6IHNwYWNpbmcoNDgpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHNwYWNpbmcoNDgpO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiBzcGFjaW5nKDY0KTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNpbmcoNjQpO1xyXG5cdH1cclxuXHJcblx0Ly9wdWxsIHF1b3RlIC0gZmlsbFxyXG5cdCYucHVsbC1xdW90ZS1maWxsIHtcclxuXHRcdHBhZGRpbmctdG9wOiBzcGFjaW5nLW1vcmUoMjApO1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcblx0Ji5wdWxsLXF1b3RlLWZpbGwgLm5hbWUtc3VybmFtZTpiZWZvcmUge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICR3aGl0ZTtcclxuXHR9XHJcbn1cclxuXHJcbi8vQ2VudGVyIGNvbHVtbnMgb24geCBheGlzXHJcblxyXG4vLyBHZW5lcmFsXHJcbi5jZW50ZXItY29sdW1uLXgtYXhpcyB7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4vLyBTbWFsbFxyXG4uY2VudGVyLWNvbHVtbi14LXNtYWxsIHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi8vIE1lZGl1bSBkb3duXHJcbi5jZW50ZXItY29sdW1uLXgtbWVkaXVtLWRvd24ge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vL0NlbnRlciBlbGVtZW50c1xyXG4uYWxpZ24tbWlkZGxlIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDk5O1xyXG5cdHRvcDogNTAlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0cGFkZGluZy1sZWZ0OiBzcGFjaW5nKDI0KTtcclxuXHRwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nKDI0KTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHNwYWNpbmcoMzIpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2luZygzMik7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHNwYWNpbmcoMjQpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2luZygyNCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdHBhZGRpbmctbGVmdDogc3BhY2luZyg0OCk7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nKDQ4KTtcclxuXHR9XHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHsgIFxyXG5cdFx0LyogSUUxMCsgc3BlY2lmaWMgc3R5bGVzIGdvIGhlcmUgKi9cclxuXHRcdHdpZHRoOiA4MCU7XHJcblx0fVxyXG59XHJcblxyXG4vLyBxdW90ZSAtIGhvb2tzXHJcbi8vbGVmdCBob29rcyAtIGljb25cclxuXHJcbi8vIExUIC0gbGFuZ3VhZ2VcclxuLy8gZGl2OmxhbmcobHQpIC5wdWxsLXF1b3RlIHtcclxuLy8gXHRwYWRkaW5nOiAzLjJyZW0gMDtcclxuXHJcbi8vIFx0JjpiZWZvcmUsXHJcbi8vIFx0JjphZnRlciB7XHJcbi8vIFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vIFx0fVxyXG5cclxuLy8gXHQmOmJlZm9yZSB7XHJcbi8vIFx0XHRib3R0b206IDA7XHJcbi8vIFx0XHRsZWZ0OiAwO1xyXG4vLyBcdH1cclxuXHJcbi8vIFx0JjphZnRlciB7XHJcbi8vIFx0XHR0b3A6IDA7XHJcbi8vIFx0XHRyaWdodDogMDtcclxuLy8gXHR9XHJcbi8vIH1cclxuXHJcbi8vIGRpdjpsYW5nKGx0KSAuaWNvbi1xdW90ZS1sZWZ0OmJlZm9yZSxcclxuLy8gZGl2OmxhbmcobHQpIHEucHVsbC1xdW90ZTpiZWZvcmUge1xyXG4vLyBcdGNvbnRlbnQ6IFwiXFxlOTEzXCIgIWltcG9ydGFudDtcclxuLy8gfVxyXG4vLyAvL3JpZ2h0IGhvb2tzIC0gaWNvblxyXG4vLyBkaXY6bGFuZyhsdCkgLmljb24tcXVvdGUtcmlnaHQ6YWZ0ZXIsXHJcbi8vIGRpdjpsYW5nKGx0KSBxLnB1bGwtcXVvdGU6YWZ0ZXIge1xyXG4vLyBcdGNvbnRlbnQ6IFwiXFxlOTEyXCIgIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLy8gRkkgLSBsYW5ndWFnZVxyXG4vLyBkaXY6bGFuZyhmaSkgLmljb24tcXVvdGUtbGVmdDpiZWZvcmUsXHJcbi8vIGRpdjpsYW5nKGZpKSBxLnB1bGwtcXVvdGU6YmVmb3JlIHtcclxuLy8gXHRjb250ZW50OiBcIlxcZTkxM1wiICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuLy9yaWdodCBob29rcyAtIGljb25cclxuLy8gZGl2OmxhbmcoZmkpIC5pY29uLXF1b3RlLXJpZ2h0OmFmdGVyLFxyXG4vLyBkaXY6bGFuZyhmaSkgcS5wdWxsLXF1b3RlOmFmdGVyIHtcclxuLy8gXHRjb250ZW50OiBcIlxcZTkxM1wiICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcbi8vYmcgaW1hZ2VcclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5yZWdpb24tYmFja2dyb3VuZC1pbWFnZSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvaW1nL3NpZ25hdHVyZS5qcGcnKTtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ji5mdWxsLWJhY2tncm91bmQtaW1hZ2Uge1xyXG5cdFx0aGVpZ2h0OiAxMDB2aDtcclxuXHRcdC5yb3cge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHotaW5kZXg6IDk5O1xyXG5cdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LnJvdyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiA5OTtcdFxyXG5cdH1cclxuXHRAZXh0ZW5kJWJlZm9yZTtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRvcGFjaXR5OiAwLjg1O1xyXG5cdFx0ei1pbmRleDogMDtcclxuXHR9XHJcbn1cclxuLy9pbWFnZSBmdWxsIHBhZ2VcclxuLmltZy1mdWxsLWJhbm5lciB7XHJcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgaW1nIHtcclxuICAgIFx0d2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vUmVnaW9uIGJhY2tncm91bmRcclxuLnJlZ2lvbi1iYWNrZ3JvdW5kIHtcclxuXHQuaWNvbjpiZWZvcmUsXHJcblx0Lmljb246YWZ0ZXIge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdG9wYWNpdHk6IDAuNjtcclxuXHR9XHJcblx0Y29sb3I6ICR3aGl0ZTtcclxuXHRwYWRkaW5nLXRvcDogc3BhY2luZyg1Nik7XHJcblx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoMzIpO1xyXG5cdGgyOmJlZm9yZSB7XHJcblx0XHRib3JkZXItY29sb3I6ICR3aGl0ZTtcclxuXHRcdG9wYWNpdHk6IDAuNjtcclxuXHR9XHJcblx0LmJ1dHRvbiB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBoaWdobGlnaHQgYmxvY2tcclxuXHJcbi5ibG9jay1ib3JkZXItbGVmdCxcclxuLmJsb2NrLWJvcmRlci1yaWdodCxcclxuLmJsb2NrLWJvcmRlci1ib3R0b20ge1xyXG5cdHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDtcclxuXHRtYXJnaW46IDJyZW0gMDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGZvbnQtc2l6ZTogNHJlbTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAtMS4yNXJlbTtcclxuXHRcdGJvdHRvbTogLTEuNnJlbTtcclxuXHRcdHotaW5kZXg6IDM7XHJcblx0fVxyXG5cclxuXHQmLmljb24tc2VhcmNoLWhpZ2hsaWdodCB7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IC0xLjRyZW07XHJcblx0XHRcdGJvdHRvbTogLTAuODZyZW07XHJcblx0XHRcdHdpZHRoOiAzLjJyZW07XHJcblx0XHRcdGhlaWdodDogMy4ycmVtO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDVyZW07XHJcblx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwOmxhc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMHJlbTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLy9lYWNoIGxvb3AgLSBmb3IgYWxsIHBhZ2VzIGNvbG9yc1xyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kcGFnZS1jb2xvcnM6IChcclxuICAgIHBhZ2UtaG9tZTpcdCAgICAjRkZDREZBLFxyXG4gICAgcGFnZS1zZWN0aW9uLTE6ICM2ODRGMDAsXHJcbiAgICBwYWdlLXNlY3Rpb24tMjogIzY1NTEzOSxcclxuICAgIHBhZ2Utc2VjdGlvbi0zOiAjNzM0ODVDLFxyXG4gICAgcGFnZS1zZWN0aW9uLTQ6ICM0NTVFMUMsXHJcbiAgICBwYWdlLXNlY3Rpb24tNTogIzdFNjAyQ1xyXG4gICAgLy9wYWdlLXNlY3Rpb24tNjogIzk5NjAxMlxyXG4pO1xyXG5cclxuQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkcGFnZS1jb2xvcnMge1xyXG4gIC4jeyRuYW1lfSB7XHJcblxyXG4gIFx0Ly9saW5rcyBmb3IgaW5uZXIgcGFnZXNcclxuICBcdC5tYWluLWNvbnRlbnQgYSB7XHJcbiAgXHRcdGNvbG9yOiAkY29sb3I7XHJcbiAgXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBcdFx0Jjpob3ZlciB7XHJcbiAgXHRcdFx0b3BhY2l0eTogMC44NTtcclxuICBcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgXHRcdH1cclxuICBcdH1cclxuXHJcbiAgXHQvL2hlcm8gYmFubmVyXHJcbiAgXHQuZnVsbC1wYWdlLWJhbm5lciB7XHJcbiAgXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICBcdFx0JjpiZWZvcmUge1xyXG4gIFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcclxuICBcdFx0fVxyXG4gIFx0fVxyXG5cclxuICBcdC8vb25seSBmb3IgaW5uZXItcGFnZXMgLSBoZWFkaW5nIDJcclxuICBcdCYuaW5uZXItcGFnZSBoMjpiZWZvcmUge1xyXG4gIFx0XHRib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICBcdH1cclxuXHJcbiAgXHQvL2lubmVyIHBhZ2VzIGJ1dHRvbiBzdHlsZVxyXG4gIFx0Lm1haW4tY29udGVudCAuYnV0dG9uLnByaW1hcnkge1xyXG4gIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgXHRcdCY6aG92ZXIge1xyXG4gIFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDclKTtcdFxyXG4gIFx0XHR9XHJcbiAgXHR9XHJcblxyXG4gIFx0Ly9SZWdpb24gYmFja2dyb3VuZCBjb2xvciBmb3IgbWFpbiBjb250ZW50XHJcbiAgXHQucmVnaW9uLWJhY2tncm91bmQge1xyXG4gIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgXHR9XHJcblxyXG4gIFx0LnJlZ2lvbi1iYWNrZ3JvdW5kIC5idXR0b24ge1xyXG4gIFx0XHRjb2xvcjogJGNvbG9yO1xyXG4gIFx0fVxyXG5cclxuICBcdC8vYmFja2dyb3VuZC1pbWFnZSBmb3IgbWFpbiBjb250ZW50XHJcbiAgXHQucmVnaW9uLWJhY2tncm91bmQtaW1hZ2U6YmVmb3JlIHtcclxuICBcdFx0YmFja2dyb3VuZDogJGNvbG9yO1xyXG4gIFx0fVxyXG5cclxuICBcdC8vQmxvY2sgUXVvdGVcclxuXHRcdCYuaW5uZXItcGFnZSBwLnB1bGwtcXVvdGUge1xyXG5cdFx0XHRib3JkZXItbGVmdDogc3BhY2luZyg0KSBzb2xpZCAkY29sb3I7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IHNwYWNpbmcoOCkgc29saWQgJGNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRib3JkZXItbGVmdDogc3BhY2luZygxNikgc29saWQgJGNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pbm5lci1wYWdlIHAucHVsbC1xdW90ZTpub3QoLnB1bGwtcXVvdGUtZmlsbCkgLm5hbWUtc3VybmFtZTpiZWZvcmUge1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRjb2xvcjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTpiZWZvcmUsXHJcblx0XHQmLmlubmVyLXBhZ2UgcC5wdWxsLXF1b3RlOm5vdCgucHVsbC1xdW90ZS1maWxsKTphZnRlciB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3I7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pbm5lci1wYWdlIHAucHVsbC1xdW90ZS5wdWxsLXF1b3RlLWZpbGwge1xyXG5cdFx0XHRib3JkZXItbGVmdDogc3BhY2luZygxNikgc29saWQgcmdiYSgkd2hpdGUsLjMpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3I7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly9PcmRpdCAtIFNsaWRlciBGb3IgdGV4dCAvIGZvciBsb29wXHJcblx0XHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0XHQub3JiaXQgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcclxuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yO1xyXG5cdFx0XHRib3JkZXI6IDRweCBzb2xpZCAkY29sb3I7XHJcblx0XHRcdFxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRcdFx0Ym9yZGVyOiA0cHggc29saWQgJGNvbG9yO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQub3JiaXQgYnV0dG9uLm9yYml0LXByZXZpb3VzLFxyXG5cdFx0Lm9yYml0IGJ1dHRvbi5vcmJpdC1uZXh0LFxyXG5cdFx0Lm9yYml0IGJ1dHRvbi5vcmJpdC1wYXVzZSxcclxuXHRcdC5vcmJpdCBidXR0b24ub3JiaXQtcGxheSB7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbG9yOiAkY29sb3I7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly9hY2NvcmRpb25cclxuXHRcdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdFx0bGkuYWNjb3JkaW9uLWl0ZW0ge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vSW5mb2dyYXBoaWNzXHJcblx0XHQuaW5mb2dyYXBoLWdyb3VwIC5pY29uOmJlZm9yZSxcclxuXHRcdC5pbmZvZ3JhcGgtZ3JvdXAgLmljb246YWZ0ZXIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pbmZvZ3JhcGgtZ3JvdXAtaG9yIC5pbmZvZ3JhcGgtcm93IHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICRibG9jay1ib3JkZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly/OmWNvblxyXG5cdFx0LmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lciAuaW5mb2dyYXBoLWljb246YmVmb3JlIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvcjtcclxuXHRcdH1cclxuXHJcblx0XHQvL2luZm9ncmFwaGljcyB2ZXJ0aWNhbCAyICYgMyBjb2x1bW5zXHJcblx0XHQuaW5mb2dyYXBoLWdyb3VwOm5vdCguaW5mb2dyYXBoLWdyb3VwLWhvcikge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggZG90dGVkICRjb2xvcjtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBibG9jayBoaWdobGlnaHRcclxuXHRcdC5ibG9jay1ib3JkZXItbGVmdCB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibG9jay1iYWNrZ3JvdW5kO1xyXG5cdFx0XHRib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICRibG9jay1ib3JkZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJsb2NrLWJvcmRlci1yaWdodCB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRibG9jay1iYWNrZ3JvdW5kLXJpZ2h0OyAvL2xpZ2h0ZW4oJGNvbG9yLCA2MCUpIHByZXZpZXdzXHJcblx0XHRcdGJvcmRlci1yaWdodDogMC4ycmVtIHNvbGlkICRibG9jay1ib3JkZXItcmlnaHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJsb2NrLWJvcmRlci1ib3R0b20ge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmxvY2stYmFja2dyb3VuZDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICRibG9jay1ib3JkZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly9Gb2N1cyBhbmNob3JzIC0gYmxvY2tcclxuXHRcdHVsLmZvY3VzLWFuY2hvcnMgbGkgYSB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3I7XHJcblx0XHR9XHJcblxyXG5cdFx0LmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lcjpudGgtY2hpbGQob2RkKSAuaW5mb2dyYXBoaWMtcm93LXRhYmxlIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbGlnaHRlbigkY29sb3IsIDU4JSk7XHJcblx0XHR9XHJcblxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vZW5kIG9mIC0tLSBlYWNoIGxvb3AgZm9yIGNvbG9yc1xyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIFNwZWNpZmljIHJ1bGVzIG9ubHkgZm9yIGhlYWRpbmcgdGhhdCBoYXMgZGFyayBidWxlIGNvbG9yXHJcbi5pbm5lci1wYWdlIGgyLmRhcmstYmx1ZS1oZWFkaW5nOmJlZm9yZSB7XHJcblx0Ym9yZGVyLWNvbG9yOiAkZGFyay1ibHVlLWNvbG9yO1xyXG59XHJcblxyXG5pZnJhbWUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5cclxuXHJcbi8vIGlubmVyIHBhZ2VzIC0gcGhvdG8gb2YgcHJlc2lkZW50IHdpdGggbmFtZSBhbmQgam9iIC8vXHJcblxyXG4ucGhvdG8td2l0aC10ZXh0IHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxufSIsIi8vQnV0dG9uc1xyXG4uYnV0dG9uIHtcclxuXHRib3JkZXItcmFkaXVzOiBzcGFjaW5nKDMyKTtcclxuXHRsaW5lLWhlaWdodDogc3BhY2luZygyNCk7XHJcblx0cGFkZGluZzogc3BhY2luZy1tb3JlKDEyKSBzcGFjaW5nKDI0KTtcclxuXHRtYXJnaW4tcmlnaHQ6IHNwYWNpbmcoOCk7XHJcblx0JjpiZWZvcmUsXHJcblx0JjphZnRlciB7XHJcblx0XHRmb250LXNpemU6IHNwYWNpbmcoMjQpO1xyXG5cdH1cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nKDQpO1xyXG5cdH1cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHNwYWNpbmcoNCk7XHJcblx0fVxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgZGFya2VuKCRwcmltYXJ5LWNvbG9yLCA1MCUpO1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDVweCA5cHggMHB4IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHRcdC1tb3otYm94LXNoYWRvdzogICAgMnB4IDVweCA5cHggMHB4IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHRcdGJveC1zaGFkb3c6ICAgICAgICAgMnB4IDVweCA5cHggMHB4IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHR9XHJcblx0Ji5idXR0b24td2hpdGUge1xyXG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDJweCA1cHggOXB4IDBweCByZ2JhKCRibGFjaywgMC40NSk7XHJcblx0XHQtbW96LWJveC1zaGFkb3c6ICAgIDJweCA1cHggOXB4IDBweCByZ2JhKCRibGFjaywgMC40NSk7XHJcblx0XHRib3gtc2hhZG93OiAgICAgICAgIDJweCA1cHggOXB4IDBweCByZ2JhKCRibGFjaywgMC40NSk7XHJcblx0fVxyXG5cdCYuYnV0dG9uLXdoaXRlOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQ6ICRibGFjaztcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yXHJcblx0fVxyXG5cdCYuYnV0dG9uLXdoaXRlOmZvY3VzIHtcclxuXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRjb2xvcjogJGJsYWNrO1x0XHRcclxuXHR9XHJcbn1cclxuLy9Hcm91cCBCdXR0b25zXHJcbi5idXR0b24tZ3JvdXAubm8tZ2FwcyB7XHJcblx0bWFyZ2luLWJvdHRvbTogc3BhY2luZygzMik7XHJcblx0LmJ1dHRvbiB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdFx0LmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IHNwYWNpbmcoMzIpIHNwYWNpbmcoMzIpIDAgMDtcclxuXHRcdH1cclxuXHRcdC5idXR0b246bGFzdC1jaGlsZCB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCBzcGFjaW5nKDMyKSBzcGFjaW5nKDMyKTtcclxuXHRcdH1cclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0XHQuYnV0dG9uOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogc3BhY2luZygzMikgMCAwIHNwYWNpbmcoMzIpO1xyXG5cdFx0fVxyXG5cdFx0LmJ1dHRvbjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCBzcGFjaW5nKDMyKSBzcGFjaW5nKDMyKSAwO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIiRpY29tb29uLWZvbnQtcGF0aDogXCIuLi9mb250cy9jdnJpYS1pY29ucy9cIiAhZGVmYXVsdDtcclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnY3ZyaWEtaWNvbnMnO1xyXG5cdHNyYzpcclxuXHRcdHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9L2N2cmlhLndvZmYyP2R0cWN2YicpIGZvcm1hdCgnd29mZjInKSxcclxuXHRcdHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9L2N2cmlhLnR0Zj9kdHFjdmInKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0XHR1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS9jdnJpYS53b2ZmP2R0cWN2YicpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vY3ZyaWEuc3ZnP2R0cWN2YiNjdnJpYS1pY29ucycpIGZvcm1hdCgnc3ZnJyk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbi8qIEBncm91cCBJQ09OUyBBUlJBWSAqL1xyXG5cclxuXHQkaWNvbnM6IChcclxuXHRcdHByaW50Olx0XHRcdFx0XHRcdFx0XHQnXFxlOTRiJyxcclxuXHRcdC8vIHF1b3RlLWxlZnQ6XHRcdFx0XHRcdFx0XHQnXFxlOTEyJyxcclxuXHRcdC8vIHF1b3RlLXJpZ2h0Olx0XHRcdFx0XHRcdCdcXGU5MTMnLFxyXG5cdFx0c2Nyb2xsOlx0XHRcdFx0XHRcdFx0XHQnXFxlOTE0JyxcclxuXHRcdHBhdXNlOlx0XHRcdFx0XHRcdFx0XHQnXFxlOTE1JyxcclxuXHRcdHBsYXk6XHRcdFx0XHRcdFx0XHRcdCdcXGU5MTYnLFxyXG5cdFx0ZG93bmxvYWQ6XHRcdFx0XHRcdFx0XHQnXFxlOTRjJyxcclxuXHRcdGJ1cmdlci1tZW51Olx0XHRcdFx0XHRcdCdcXGU5MGYnLFxyXG5cdFx0Y2xvc2U6XHRcdFx0XHRcdFx0XHRcdCdcXGU5MTAnLFxyXG5cdFx0YnVscDpcdFx0XHRcdFx0XHRcdFx0J1xcZTkxZScsXHJcblx0XHRjbG9jay1kdXJhdGlvbjpcdFx0XHRcdFx0XHQnXFxlOTAwJyxcclxuXHRcdHBlbmRpbmctY2FzZXM6XHRcdFx0XHRcdFx0J1xcZTkwMScsXHJcblx0XHRpbnRlcnByZXRlcnM6XHRcdFx0XHRcdFx0J1xcZTkwMicsXHJcblx0XHRqdXJpc3Rlcy1saW5ndWlzdGVzOlx0XHRcdFx0J1xcZTkwMycsXHJcblx0XHRjYXNlcy1icm91Z2h0Olx0XHRcdFx0XHRcdCdcXGU5MjEnLFxyXG5cdFx0Y2FzZXMtY29tcGxldGVkOlx0XHRcdFx0XHQnXFxlOTIyJyxcclxuXHRcdGNvbnRhY3QtZm9ybTpcdFx0XHRcdFx0XHQnXFxlOTI0JyxcclxuXHRcdGFjY2Vzcy1kb2M6XHRcdFx0XHRcdFx0XHQnXFxlOTE3JyxcclxuXHRcdGxhbmd1YWdlOlx0XHRcdFx0XHRcdFx0J1xcZTkzNycsXHJcblx0XHRvZmZpY2lhbHMtYW5kLW90aGVyLXN0YWZmOlx0XHRcdCdcXGU5M2UnLFxyXG5cdFx0dHdlZXRzOlx0XHRcdFx0XHRcdFx0XHQnXFxlOTQ2JyxcclxuXHRcdGp1ZGdlOlx0XHRcdFx0XHRcdFx0XHQnXFxlOTMzJyxcclxuXHRcdHVyZ2VudC1idWRnZXQ6XHRcdFx0XHRcdFx0J1xcZTkxYScsXHJcblx0XHR2aXNpdG9ycy1yZWNlaXZlZDpcdFx0XHRcdFx0J1xcZTk0OCcsXHJcblx0XHRhbm51YWwtcmVwb3J0LXdlYjpcdFx0XHRcdFx0J1xcZTkxOCcsXHJcblx0XHRhcnJvdy1jdnJpYTpcdFx0XHRcdFx0XHQnXFxlOTFiJyxcclxuXHRcdGF2b2NhdDpcdFx0XHRcdFx0XHRcdFx0J1xcZTkxZCcsXHJcblx0XHRjb21tdW5pcXVhOlx0XHRcdFx0XHRcdFx0J1xcZTkyMycsXHJcblx0XHRleHRlcm5hbC11c2VyczpcdFx0XHRcdFx0XHQnXFxlOTJkJyxcclxuXHRcdGp1ZGljaWFsLW5vdGljZXM6XHRcdFx0XHRcdCdcXGU5MzUnLFxyXG5cdFx0YnJvd3NlcjpcdFx0XHRcdFx0XHRcdCdcXGU5MWYnLFxyXG5cdFx0dmlzaXQtdGhlLXNlYXQ6XHRcdFx0XHRcdFx0J1xcZTk0NycsXHJcblx0XHRzZWFyY2gtaGlnaGxpZ2h0Olx0XHRcdFx0XHQnXFxlOTUwJyxcclxuXHRcdGJpZy1hZG1pbjpcdFx0XHRcdFx0XHRcdCdcXGU5MDQnLFxyXG5cdFx0YmlnLWF0LWEtZ2xhbmNlOlx0XHRcdFx0XHQnXFxlOTA1JyxcclxuXHRcdGJpZy1jb25uZWN0ZWQ6XHRcdFx0XHRcdFx0J1xcZTkwNicsXHJcblx0XHRiaWctbGF3Olx0XHRcdFx0XHRcdFx0J1xcZTkwNycsXHJcblx0XHRiaWctdGVsZXNjb3BlOlx0XHRcdFx0XHRcdCdcXGU5MDgnLFxyXG5cdFx0ZWNvbG9neTpcdFx0XHRcdFx0XHRcdCdcXGU5NGQnLFxyXG5cdFx0aGlzdG9yeTpcdFx0XHRcdFx0XHRcdCdcXGU5NGUnLFxyXG5cdFx0YXJyb3ctZG93bjpcdFx0XHRcdFx0XHRcdCdcXGU5MDknLFxyXG5cdFx0YXJyb3ctbGVmdDpcdFx0XHRcdFx0XHRcdCdcXGU5MGEnLFxyXG5cdFx0YXJyb3ctcmlnaHQ6XHRcdFx0XHRcdFx0J1xcZTkwYicsXHJcblx0XHRhcnJvdy11cDpcdFx0XHRcdFx0XHRcdCdcXGU5MGMnLFxyXG5cdFx0c29jaWFsLWFwcGxlOlx0XHRcdFx0XHRcdCdcXGU5MGQnLFxyXG5cdFx0c29jaWFsLWdvb2dsZS1wbGF5Olx0XHRcdFx0XHQnXFxlOTBlJyxcclxuXHRcdHNvY2lhbC1saW5rZWRpbjpcdFx0XHRcdFx0J1xcZTkxMScsXHJcblx0XHRzb2NpYWwtdHdpdHRlcjpcdFx0XHRcdFx0XHQnXFxlOTE5JyxcclxuXHRcdHNvY2lhbC15b3V0dWJlOlx0XHRcdFx0XHRcdCdcXGU5MWMnLFxyXG5cdFx0c29jaWFsLWZhY2Vib29rOlx0XHRcdFx0XHQnXFxlOTRhJyxcclxuXHRcdHNvY2lhbC1tYXN0b2RvbjpcdFx0XHRcdFx0J1xcZTk1MScsXHJcblx0XHRzb2NpYWwtYmx1ZXNreTpcdFx0XHRcdFx0XHQnXFxlOTJjJyxcclxuXHRcdHNvY2lhbC1pbnN0YWdyYW06XHRcdFx0XHRcdCdcXGU5MmUnLFxyXG5cdFx0c29jaWFsLXRocmVhZHM6XHRcdFx0XHRcdFx0J1xcZTkyZicsXHJcblx0XHRzb2NpYWwtd2hhdHNhcHA6XHRcdFx0XHRcdCdcXGU5MzAnLFxyXG5cdFx0bWFsZTpcdFx0XHRcdFx0XHRcdFx0J1xcZTkyNScsXHJcblx0XHRmZW1hbGU6XHRcdFx0XHRcdFx0XHRcdCdcXGU5MjYnLFxyXG5cdFx0ZXVyb3BlOlx0XHRcdFx0XHRcdFx0XHQnXFxlOTIwJyxcclxuXHRcdGUtY3VyaWE6XHRcdFx0XHRcdFx0XHQnXFxlOTI3JyxcclxuXHRcdGluZm86XHRcdFx0XHRcdFx0XHRcdCdcXGU5MjgnLFxyXG5cdFx0b3Blbi1kb29yOlx0XHRcdFx0XHRcdFx0J1xcZTkyOScsXHJcblx0XHRwZXJjZW50YWdlOlx0XHRcdFx0XHRcdFx0J1xcZTkyYScsXHJcblx0XHRzYXZvaXI6XHRcdFx0XHRcdFx0XHRcdCdcXGU5MmInXHJcblx0KTtcclxuXHJcblx0Lmljb24tYmlnLWFkbWluOmJlZm9yZSB7XHRcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGVjb2xvZ3kpfSc7fVxyXG5cdC5pY29uLWJpZy1hdC1hLWdsYW5jZTpiZWZvcmUge1x0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgYmlnLWF0LWEtZ2xhbmNlKX0nO31cclxuXHQuaWNvbi1iaWctY29ubmVjdGVkOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBiaWctY29ubmVjdGVkKX0nO31cclxuXHQuaWNvbi1iaWctZXhjaGFuZ2U6YmVmb3JlIHtcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgaGlzdG9yeSl9Jzt9XHJcblx0Lmljb24tYmlnLWxhdzpiZWZvcmUge1x0XHRcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGJpZy1sYXcpfSc7fVxyXG5cdC5pY29uLWJpZy10ZWxlc2NvcGU6YmVmb3JlIHtcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGJpZy10ZWxlc2NvcGUpfSc7fVxyXG5cdC5pY29uLWJpZy1zZXZlbnR5LXllYXJzOmJlZm9yZSB7XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgaGlzdG9yeSl9Jzt9XHJcblx0Lmljb24tYXJyb3ctZG93bjphZnRlciB7XHRcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGFycm93LWRvd24pfSc7fVxyXG5cdC5pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgYXJyb3ctbGVmdCl9Jzt9XHJcblx0Lmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgYXJyb3ctcmlnaHQpfSc7fVxyXG5cdC5pY29uLWFycm93LXVwOmJlZm9yZSB7XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgYXJyb3ctdXApfSc7fVxyXG5cdC5pY29uLXNvY2lhbC1hcHBsZTpiZWZvcmUge1x0XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBzb2NpYWwtYXBwbGUpfSc7fVxyXG5cdC5pY29uLXNvY2lhbC1nb29nbGUtcGxheTpiZWZvcmUge1x0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIHNvY2lhbC1nb29nbGUtcGxheSl9Jzt9XHJcblx0Lmljb24tc29jaWFsLWxpbmtlZGluOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBzb2NpYWwtbGlua2VkaW4pfSc7fVxyXG5cdC5pY29uLXNvY2lhbC10d2l0dGVyOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBzb2NpYWwtdHdpdHRlcil9Jzt9XHJcblx0Lmljb24tc29jaWFsLWZhY2Vib29rOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBzb2NpYWwtZmFjZWJvb2spfSc7fVxyXG5cdC5pY29uLXNvY2lhbC15b3V0dWJlOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBzb2NpYWwteW91dHViZSl9Jzt9XHJcblx0Lmljb24tc29jaWFsLW1hc3RvZG9uOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBzb2NpYWwtbWFzdG9kb24pfSc7fVxyXG5cdC5pY29uLXNvY2lhbC1ibHVlc2t5OmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBzb2NpYWwtYmx1ZXNreSl9Jzt9XHJcblx0Lmljb24tc29jaWFsLWluc3RhZ3JhbTpiZWZvcmUge1x0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgc29jaWFsLWluc3RhZ3JhbSl9Jzt9XHJcblx0Lmljb24tc29jaWFsLXRocmVhZHM6YmVmb3JlIHtcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIHNvY2lhbC10aHJlYWRzKX0nO31cclxuXHQuaWNvbi1zb2NpYWwtd2hhdHNhcHA6YmVmb3JlIHtcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIHNvY2lhbC13aGF0c2FwcCl9Jzt9XHJcblx0Lmljb24tcHJpbnQ6YmVmb3JlIHtcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBwcmludCl9Jzt9XHJcblx0Lmljb24tYnVyZ2VyLW1lbnU6YmVmb3JlIHtcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgYnVyZ2VyLW1lbnUpfSc7fVxyXG5cdC5pY29uLWNsb3NlOmJlZm9yZSB7XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgY2xvc2UpfSc7fVxyXG5cdC8vIC5pY29uLXF1b3RlLWxlZnQ6YmVmb3JlIHtcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgcXVvdGUtbGVmdCl9Jzt9XHJcblx0Ly8gLmljb24tcXVvdGUtcmlnaHQ6YWZ0ZXIge1x0XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBxdW90ZS1yaWdodCl9Jzt9XHJcblx0Lmljb24tc2Nyb2xsOmFmdGVyIHtcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBzY3JvbGwpfSc7fVxyXG5cdC5pY29uLXBhdXNlOmJlZm9yZSB7XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgcGF1c2UpfSc7fVxyXG5cdC5pY29uLXBsYXk6YmVmb3JlIHtcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIHBsYXkpfSc7fVxyXG5cdC5pY29uLWRvd25sb2FkOmJlZm9yZSB7XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgZG93bmxvYWQpfSc7fVxyXG5cdC5pY29uLXNlYXJjaC1oaWdobGlnaHQ6YmVmb3JlIHtcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGJ1bHApfSc7fVxyXG5cdC5pY29uLWN2cmlhLWFjY2Vzcy1kb2M6YmVmb3JlIHtcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGFjY2Vzcy1kb2MpfSc7fVxyXG5cdC5pY29uLWN2cmlhLWFubnVhbC1yZXA6YmVmb3JlIHtcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGFubnVhbC1yZXBvcnQtd2ViKX0nO31cclxuXHQuaWNvbi1jdnJpYS11cmdlbnQtYnVkOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCB1cmdlbnQtYnVkZ2V0KX0nO31cclxuXHQuaWNvbi1jdnJpYS1hcnJvdy1jdnJpYTpiZWZvcmUge1x0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGFycm93LWN2cmlhKX0nO31cclxuXHQuaWNvbi1jdnJpYS1hdm9jYXQ6YmVmb3JlIHtcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgYXZvY2F0KX0nO31cclxuXHQuaWNvbi1jdnJpYS1icm93c2VyOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBicm93c2VyKX0nO31cclxuXHQuaWNvbi1jdnJpYS1jYXNlcy1icm91OmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBjYXNlcy1icm91Z2h0KX0nO31cclxuXHQuaWNvbi1jdnJpYS1jYXNlcy1jb21wOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBjYXNlcy1jb21wbGV0ZWQpfSc7fVxyXG5cdC5pY29uLWNsb2NrLWR1cmF0aW9uOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBjbG9jay1kdXJhdGlvbil9Jzt9XHJcblx0Lmljb24tcGVuZGluZy1jYXNlczpiZWZvcmUge1x0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgcGVuZGluZy1jYXNlcyl9Jzt9XHJcblx0Lmljb24tY3ZyaWEtaW50ZXJwcmV0ZXJzOmJlZm9yZSB7XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgaW50ZXJwcmV0ZXJzKX0nO31cclxuXHQuaWNvbi1jdnJpYS1jb21tdW5pcXVhOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBjb21tdW5pcXVhKX0nO31cclxuXHQuaWNvbi1jdnJpYS1qdWRnZTpiZWZvcmUge1x0XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBqdWRnZSl9Jzt9XHJcblx0Lmljb24tanVyaXN0ZXMtbGluZ3Vpc3RlczpiZWZvcmUge1x0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGp1cmlzdGVzLWxpbmd1aXN0ZXMpfSc7fVxyXG5cdC5pY29uLWN2cmlhLWNvbnRhY3QtZm9ybTpiZWZvcmUge1x0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGNvbnRhY3QtZm9ybSl9Jzt9XHJcblx0Lmljb24tY3ZyaWEtbGFuZzpiZWZvcmUge1x0XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBsYW5ndWFnZSl9Jzt9XHJcblx0Lmljb24tY3ZyaWEtb2ZmaWNpYWxzLW90aGVyOmJlZm9yZSB7XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIG9mZmljaWFscy1hbmQtb3RoZXItc3RhZmYpfSc7fVxyXG5cdC5pY29uLWN2cmlhLWp1ZGljaWFsLW5vdDpiZWZvcmUge1x0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGp1ZGljaWFsLW5vdGljZXMpfSc7fVxyXG5cdC5pY29uLWN2cmlhLWV4dGVybmFsOmJlZm9yZSB7XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBleHRlcm5hbC11c2Vycyl9Jzt9XHJcblx0Lmljb24tdmlzaXRvcnMtcmVjZWl2ZWQ6YmVmb3JlIHtcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCB2aXNpdG9ycy1yZWNlaXZlZCl9Jzt9XHJcblx0Lmljb24tY3ZyaWEtdHdlZXRzOmJlZm9yZSB7XHRcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIHR3ZWV0cyl9Jzt9XHJcblx0Lmljb24tY3ZyaWEtdmlzaXQtc2VhdDpiZWZvcmUge1x0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgdmlzaXQtdGhlLXNlYXQpfSc7fVxyXG5cdC5pY29uLW1hbGU6YmVmb3JlIHtcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIG1hbGUpfSc7fVxyXG5cdC5pY29uLWZlbWFsZTpiZWZvcmUge1x0XHRcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIGZlbWFsZSl9Jzt9XHJcblx0Lmljb24tZXVyb3BlOmJlZm9yZSB7XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgZXVyb3BlKX0nO31cclxuXHQuaWNvbi1lLWN1cmlhOmJlZm9yZSB7XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgZS1jdXJpYSl9Jzt9XHJcblx0Lmljb24taW5mbzpiZWZvcmUge1x0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnI3ttYXAtZ2V0KCRpY29ucywgaW5mbyl9Jzt9XHJcblx0Lmljb24tb3Blbi1kb29yOmJlZm9yZSB7XHRcdFx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsIG9wZW4tZG9vcil9Jzt9XHJcblx0Lmljb24tcGVyY2VudGFnZTpiZWZvcmUge1x0XHRcdFx0XHRcdGNvbnRlbnQ6ICcje21hcC1nZXQoJGljb25zLCBwZXJjZW50YWdlKX0nO31cclxuXHJcblxyXG5cclxuXHQuaWNvbjpiZWZvcmUsXHJcblx0Lmljb246YWZ0ZXIsXHJcblx0W2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUsXHJcblx0W2NsYXNzKj1cIiBpY29uLVwiXTphZnRlciwge1xyXG5cdFx0LyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cclxuXHRcdGZvbnQtZmFtaWx5OiAnY3ZyaWEtaWNvbnMnICFpbXBvcnRhbnQ7XHJcblx0XHRzcGVhazogbm9uZTtcclxuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuXHRcdC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xyXG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG5cdH1cclxuXHJcblxyXG4vKiBAZ3JvdXAgRk9OVCBJQ09OUyBNSVhJTiAqL1xyXG5cclxuXHQvLy8gRm9yIGFkZGluZyBmb250IGljb25zIHRvIGVsZW1lbnRzIHVzaW5nIENTUyBwc2V1ZG8tZWxlbWVudHMuXHJcblx0Ly8vIEF0dGFjaCBhIHBhcnRpY3VsYXIgaWNvbiB0byBhbiBlbGVtZW50IGNvbXBsZXRlIHdpdGggYWxsIHRoZSByZXF1aXJlZCBzdHlsZXMuXHJcblx0Ly8vIEF0dGFjaCBqdXN0IHRoZSByZXF1aXJlZCBpY29uIHN0eWxlcyB0byBhIGJ1bmNoIG9mIGVsZW1lbnRzLCB3aXRob3V0IHNldHRpbmcgYSBwYXJ0aWN1bGFyIGljb24uXHJcblx0Ly8vIFNldCBvciBzd2FwIHRoZSBpY29uIG9uIGFuIGVsZW1lbnQgd2l0aG91dCBhcHBseWluZyByZXF1aXJlZCBzdHlsZXMuXHJcblx0Ly8vIFNldCBjdXN0b20gc3R5bGVzIGZvciB5b3VyIGljb24gcHNldWRvLWVsZW1lbnQuXHJcblx0Ly8vXHJcblx0Ly8vIEBleGFtcGxlXHJcblx0Ly8vICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIHNlYXJjaCwgJHdoaXRlLCB0cnVlLCAxcmVtLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7XHJcblx0Ly8vXHJcblx0Ly8vIEBwYXJhbSB7dHlwZX0gJHBvc2l0aW9uIC0gQmVmb3JlIG9yIGFmdGVyIGljb24gcG9zaXRpb24gd2l0aGluIHRoZSB0ZXh0XHJcblx0Ly8vIEBwYXJhbSB7dHlwZX0gJGljb24gLSBNYXAgaWNvbiBuYW1lXHJcblx0Ly8vIEBwYXJhbSB7dHlwZX0gJGNvbG9yIFsjY2NjXSAgLSBDb2xvclxyXG5cdC8vLyBAcGFyYW0ge3R5cGV9ICRzdHlsZXMgW3RydWVdIC0gSWNvbiBGb250IHN0eWxlc1xyXG5cdC8vLyBAcGFyYW0ge3R5cGV9ICRzaXplIFsxcmVtXSAtIEljb24gRm9udCBzaXplXHJcblx0Ly8vIEBwYXJhbSB7dHlwZX0gJHNvbG8gW2ZhbHNlXSAtIEp1c3QgaWNvbiwgbm8gdGV4dFxyXG5cdC8vLyBAcGFyYW0ge3R5cGV9ICRyb3RhdGlvbiBbZmFsc2VdIC0gYW5nbGVcclxuXHQvLy8gQHBhcmFtIHt0eXBlfSAkbWFyZ2luIFtmYWxzZV0gLSBjYW4gYmUgOiB0b3AsIGJvdHRvbSwgcmlnaHQgb3JsZWZ0XHJcblx0Ly8vIEBwYXJhbSB7dHlwZX0gJG1hcmdpbi1hbW91bnQgW2ZhbHNlXSAtIGNhbiBhbnkgdmFsdWVcclxuXHQvLy8gQGxpbmsgaHR0cDovL2pheWRlbnNlcmljLmNvbS9ibG9nL2Z1bi13aXRoLXNhc3MtYW5kLWZvbnQtaWNvbnNcclxuXHJcblx0QG1peGluIGljb24oJHBvc2l0aW9uOiBiZWZvcmUsICRpY29uOiBmYWxzZSwgJGNvbG9yOiAjY2NjLCAkc3R5bGVzOiB0cnVlLCAkc2l6ZTogMXJlbSwgJHNvbG86IGZhbHNlLCAkcm90YXRpb246IGZhbHNlLCAkbWFyZ2luOiBmYWxzZSwgJG1hcmdpbi1hbW91bnQ6IGZhbHNlKXtcclxuXHRcdEBpZiAkcG9zaXRpb24gPT0gYm90aHtcclxuXHRcdFx0JHBvc2l0aW9uOiAnYmVmb3JlLCBhZnRlcic7XHJcblx0XHR9XHJcblx0XHRAaWYgJHNvbG8gPT0gdHJ1ZXtcclxuXHRcdFx0Zm9udC1zaXplOiAwO1xyXG5cdFx0fVxyXG5cdFx0Ly8gRWl0aGVyIGEgOmJlZm9yZSBvciA6YWZ0ZXIgcHNldWRvLWVsZW1lbnQsIG9yIGJvdGgsIGRlZmF1bHRpbmcgdG8gOmJlZm9yZVxyXG5cdFx0JjojeyRwb3NpdGlvbn0ge1xyXG5cdFx0XHRAaWYgJGljb257XHJcblx0XHRcdFx0Ly8gQSBwYXJ0aWN1bGFyIGljb24gaGFzIGJlZW4gc3BlY2lmaWVkXHJcblx0XHRcdFx0Y29udGVudDogJyN7bWFwLWdldCgkaWNvbnMsICRpY29uKX0nO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHNpemU7XHJcblx0XHRcdH1cclxuXHRcdFx0QGlmICRzdHlsZXN7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvcjtcclxuXHRcdFx0XHRAaWYgJHJvdGF0aW9uIHtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCRyb3RhdGlvbitkZWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRAaWYgJG1hcmdpbntcclxuXHRcdFx0XHRAaWYgJG1hcmdpbi1hbW91bnQge1xyXG5cdFx0XHRcdFx0QGlmICRtYXJnaW4gPT0gdG9wIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogJG1hcmdpbi1hbW91bnQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaWYgJG1hcmdpbiA9PSBib3R0b20ge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWFtb3VudDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpZiAkbWFyZ2luID09IHJpZ2h0IHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWFtb3VudDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpZiAkbWFyZ2luID09IGxlZnQge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogJG1hcmdpbi1hbW91bnQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC8vIEluY2x1ZGUgYW55IGV4dHJhIHJ1bGVzIHN1cHBsaWVkIGZvciB0aGUgcHNldWRvLWVsZW1lbnRcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fVxyXG4iLCJAbWVkaWEgcHJpbnQge1xyXG5cclxuICAgIGJvYnkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUb3AgQmFubmVyXHJcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAuaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lcjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmlubmVyLXBhZ2UgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIC5hbGlnbi1taWRkbGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbm5lci1wYWdlLnBhZ2Utc2VjdGlvbi00IC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGVhZGVyXHJcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwcmVtO1xyXG4gICAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIGhlYWRlcjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLWxvZ28tc3ZnIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXItbWVudSxcclxuICAgIC5oZWFkZXItbGFuZ3VhZ2Utc2VsZWN0b3IsXHJcbiAgICAuaGVhZGVyIC5oZWFkZXItbG9nbyAuaGVhZGVyLWxvZ28tc3ltYm9sLXN2ZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuc2hhcmUtYmxvY2sge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbWFpblxyXG4gICAgLmlubmVyLXBhZ2UgLm1haW4tY29udGVudCBoMiB7XHJcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbWFpbiAucm93IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBmb290ZXJcclxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBmb290ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnRvcC1saW5rLFxyXG4gICAgLnRvcC1saW5rLnNob3cge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUGFnZXNcclxuICAgIC8vIEhvbWVwYWdlXHJcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAuaG9tZXBhZ2UtcmVnaW9uLXR3byB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNnJlbTtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ob21lcGFnZS1yZWdpb24tdGhyZWUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmhvbWVwYWdlLXJlZ2lvbi1mb3VyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2cmVtO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGFnZS1ob21lIC5tYWluLWNvbnRlbnQgPiBkaXYge1xyXG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2cmVtO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElubmVyIHBhZ2VcclxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAuaW5uZXItcGFnZSB7XHJcbiAgICAgICAgaW1nOm5vdChbc3JjKj1cImdyYXBoXCJdKTpub3QoW3NyYyo9XCJ1YV9mbGFnXzFfZW5oYW5jZWQtY29sb3Vycy5qcGdcIl0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyLjVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMi41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpdi5mdWxsLXdpZHRoLWltZy1uby1wYWRkaW5ncyBpbWcge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZ1tzcmMqPVwiZ3JhcGhcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZ1tzcmM9XCJ1YV9mbGFnXzFfZW5oYW5jZWQtY29sb3Vycy5qcGdcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICNyZWdpb24tMyBpbWcge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWdbc3JjKj1cInlvdXR1YmUtbG9nb1wiXSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb2N1cy10aXRsZSB7XHJcbiAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvY3VzLXRpdGxlIGltZyB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmxvY2staGlnaGxpZ2h0LFxyXG4gICAgICAgIC5ibG9jay1oaWdobGlnaHQtMiB7XHJcbiAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1haW4tY29udGVudCA+IGRpdiB7XHJcbiAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vcmJpdCAub3JiaXQtYnVsbGV0cyxcclxuICAgICAgICAub3JiaXQgYnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIGp1ZGljaWFsLWFjdGl2aXR5IC0tLSBQYWdlXHJcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAgIC8vIE1lbWJlcnMgb2YgdGhlIENvdXJ0IG9mIEp1c3RpY2UgLSBibG9ja1xyXG5cclxuICAgIC5tZW1iZXJzLWJsb2NrIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbWJlcnMtYmxvY2sgLmNvbHVtbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubWVtYmVycy1ibG9jayAubWVtYmVyLWl0ZW0gLm1lbWJlci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGhpZ2h0bGlnaHRzLWFuY2hvcnNcclxuICAgIC5wYWdlLXNlY3Rpb24tMiAjaG9tZXBhZ2UtMiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBhZG1pbmlzdHJhdGlvbi1pbi1zZXJ2aWNlLW9mLWp1c3RpY2VcclxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC5wYWdlLXNlY3Rpb24tMyAjcmVnaW9uLTQuaW5uZXItcGFnZS1yZWdpb24tMyAucm93Om50aC1jaGlsZCgzKSxcclxuICAgIC5wYWdlLXNlY3Rpb24tMyAjcmVnaW9uLTQuaW5uZXItcGFnZS1yZWdpb24tMyAucm93Om50aC1jaGlsZCg0KSxcclxuICAgIC5wYWdlLXNlY3Rpb24tMyAjcmVnaW9uLTQuaW5uZXItcGFnZS1yZWdpb24tMyAucm93Om50aC1jaGlsZCg1KSxcclxuICAgIC5wYWdlLXNlY3Rpb24tMyAjcmVnaW9uLTQuaW5uZXItcGFnZS1yZWdpb24tMyAucm93Om50aC1jaGlsZCg2KSxcclxuICAgIC5wYWdlLXNlY3Rpb24tMyAjcmVnaW9uLTQuaW5uZXItcGFnZS1yZWdpb24tMyAucm93Om50aC1jaGlsZCg3KSxcclxuICAgIC5wYWdlLXNlY3Rpb24tMyAjcmVnaW9uLTQuaW5uZXItcGFnZS1yZWdpb24tMyAucm93Om50aC1jaGlsZCg4KSxcclxuICAgIC5wYWdlLXNlY3Rpb24tMyAuaW5uZXItcGFnZS1yZWdpb24tNSAucm93IHtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDE4cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBhbi1lbnZpcm9ubWVudGFsbHktZnJpZW5kbHktaW5zdGl0dXRpb25cclxuICAgIC5wYWdlLXNlY3Rpb24tNCAuaW5uZXItcGFnZS1yZWdpb24tMi0xIC5yb3cge1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxOC43NXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL2xvb2tpbmctYWhlYWQgLS0tIFBhZ2VcclxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC5wYWdlLXNlY3Rpb24tNSAjaG9tZXBhZ2UtMiAucm93LFxyXG4gICAgLnBhZ2Utc2VjdGlvbi01ICNob21lcGFnZS0yIC5yb3cgLmNvbHVtbnMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXNlY3Rpb24tNSAucm93IGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAub3JiaXQgdWwub3JiaXQtY29udGFpbmVyIGxpLm9yYml0LXNsaWRlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvL1N0YXkgLSBjb25uZWN0ZWQgLS0tIFBhZ2VcclxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC5wYWdlLXNlY3Rpb24tNiB7XHJcbiAgICAgICAgLmljb24taGVhZGluZzphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5uZXItcGFnZS1yZWdpb24tMi0xIC5yb3cge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLy8gQU5DSE9SIEFCU09MVVRFIFBPU0lUSU9OIE1JWElOXG5cbi8vIENlbnRlciBhbGlnbnMgYWJzb2x1dGUgcG9zaXRpb25lZCBlbGVtZW50cyB0byB0aGVpciBwYXJlbnRcbi8vIEV4YW1wbGU6XG4vLyBAaW5jbHVkZSBhbGlnbi1hYnNvbHV0ZVBvc2l0aW9uKDBweCwgLTJweCwgMHB4LCBhdXRvKTtcbi8vXG4vLyAwcHggKHRvIGNlbnRlciBhbGlnbiB0byBwYXJlbnQpLCAtOTk5OXB4IChtb3N0bHkgZm9yIGltYWdlcyksIGFueSBvdGhlciBjb21iaW5hdGlvbiB0byBtb3ZlIHJlbGF0aXZlbHkgdG8gdGhlIGNlbnRlciBvZiB0aGUgcGFyZW50XG5cbkBtaXhpbiBhbGlnbi1hYnNvbHV0ZVBvc2l0aW9uKCR0b3A6IDBweCwgJHJpZ2h0OiAwcHgsICRib3R0b206IDBweCwgJGxlZnQ6IDBweCkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogJHRvcDtcblx0cmlnaHQ6ICRyaWdodDtcblx0Ym90dG9tOiAkYm90dG9tO1xuXHRsZWZ0OiAkbGVmdDtcblx0bWFyZ2luOiBhdXRvO1xufVxuXG4vL2luZGljYXRvciBkYXNoIGZvciBoZWFkaW5ncyBhbmQgc29tZSBvdGhlciBlbGVtZW50c1xuJWluZGljYXRvciB7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYmxhY2s7XG5cdFx0d2lkdGg6IHNwYWNpbmcoNjQpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkYmxhY2s7XG5cdFx0XHR3aWR0aDogc3BhY2luZy1tb3JlKDkwKTtcblx0XHR9XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2luZyg4KTtcblx0fVxufVxuXG4lYmVmb3JlIHtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTtcblx0fVxufVxuIiwiLy8gdG9wIGJhbm5lclxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0LnBhZ2UtaG9tZSAuZnVsbC1wYWdlLWJhbm5lcjpub3QoLmxvYWRlci1ibG9jaykgLmFsaWduLW1pZGRsZSB7XHJcblxyXG5cdFx0Ly8gZW5cclxuXHRcdCY6bGFuZyhlbikge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDM0cmVtO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGNzXHJcblx0XHQmOmxhbmcoY3MpIHtcclxuXHRcdFx0d2lkdGg6IDM1LjMlO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGZpXHJcblx0XHQmOmxhbmcoZmkpIHtcclxuXHRcdFx0d2lkdGg6IDQyLjklO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdFx0aDEge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogNXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGhyXHJcblx0XHQmOmxhbmcoaHIpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAzMHJlbTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBodVxyXG5cdFx0JjpsYW5nKGh1KSB7XHJcblx0XHRcdG1heC13aWR0aDogMzByZW07XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gaXRcclxuXHRcdCY6bGFuZyhpdCkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDQ1cmVtO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGx0XHJcblx0XHQmOmxhbmcobHQpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiA1NXJlbTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gbHZcclxuXHRcdCY6bGFuZyhsdikge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDQ4LjZyZW07XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIG10LCBwbCwgcHRcclxuXHRcdCY6bGFuZyhtdCksXHJcblx0XHQmOmxhbmcocGwpLFxyXG5cdFx0JjpsYW5nKHB0KSB7XHJcblx0XHRcdG1heC13aWR0aDogMzguNnJlbTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gbmxcclxuXHRcdCY6bGFuZyhubCkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDUxLjZyZW07XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIHJvXHJcblx0XHQmOmxhbmcocm8pIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAzOC42cmVtO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBzbFxyXG5cdFx0JjpsYW5nKHNsKSB7XHJcblx0XHRcdG1heC13aWR0aDogNDkuMnJlbTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gc3ZcclxuXHRcdCY6bGFuZyhzdikge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDQzLjVyZW07XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIGZyXHJcblx0XHQmOmxhbmcoZnIpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAzOC41cmVtO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHQucGFnZS1ob21lIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlIHtcclxuXHJcblx0XHQvLyBiZ1xyXG5cdFx0JjpsYW5nKGJnKSB7XHJcblx0XHRcdHdpZHRoOiAzMS4zJTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBjc1xyXG5cdFx0JjpsYW5nKGNzKSB7XHJcblx0XHRcdHdpZHRoOiAyNS4zJTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBlbFxyXG5cdFx0JjpsYW5nKGVsKSB7XHJcblx0XHRcdHdpZHRoOiAzOS4zJTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBlc1xyXG5cdFx0JjpsYW5nKGVzKSB7XHJcblx0XHRcdHdpZHRoOiAzOC4zJTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBmaVxyXG5cdFx0JjpsYW5nKGZpKSB7XHJcblx0XHRcdHdpZHRoOiA0OS45JTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBodVxyXG5cdFx0JjpsYW5nKGh1KSB7XHJcblx0XHRcdG1heC13aWR0aDogNTByZW07XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucGFnZS1ob21lIGgyOmJlZm9yZSB7XHJcblx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxufVxyXG4vL1JlZ2lvbiAyXHJcbi5ob21lcGFnZS1yZWdpb24tdHdvIHtcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7ICBcclxuXHQvKiBJRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZSAqL1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cdHBhZGRpbmctdG9wOiBzcGFjaW5nKDMyKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2luZygzMik7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0cGFkZGluZy10b3A6IHNwYWNpbmcoNDgpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoNDgpO1x0XHJcblx0fVxyXG5cdEBleHRlbmQgJWluZGljYXRvcjtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBzcGFjaW5nKDI0KSAhaW1wb3J0YW50O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHR9XHJcblx0dWwge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGNvbHVtbi1jb3VudDogMjtcclxuXHRcdFx0Y29sdW1uLWdhcDogM3JlbTtcclxuXHRcdH1cclxuXHRcdGxpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogc3BhY2luZygzMik7XHJcblx0XHR9XHJcblx0fVxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi8vUmVnaW9uIDNcclxuLmhvbWVwYWdlLXJlZ2lvbi10aHJlZSB7XHJcblx0Ji5mdWxsLXBhZ2UtYmFubmVyIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0Lmhlcm8tYmFja2dyb3VuZC1pbWFnZSB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ltZy9ob21hcGFnZS1pbWFnZS0zLmpwZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHR9XHJcblx0fVxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRoZWlnaHQ6IDU4dmggIWltcG9ydGFudDtcclxuXHRoMiB7XHJcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdGZvbnQtc2l6ZTogMjZweDtcclxuICAgIFx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHR9XHJcbn1cclxuLy9SZWdpb24gNFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7ICBcclxuXHQvKiBJRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZSAqL1xyXG5cdC5ob21lcGFnZS1yZWdpb24tZm91ciAge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG59XHJcbi5ob21lcGFnZS1yZWdpb24tZm91ciB7XHJcblx0LnJvdyB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2luZyg0MCk7XHJcblx0fVxyXG5cdGgyIHtcclxuXHRcdEBleHRlbmQgJWluZGljYXRvcjtcclxuXHR9XHJcblx0cGFkZGluZy10b3A6IHNwYWNpbmcoNDgpO1xyXG5cdC5xdW90ZS1sZWZ0LXNpZGUge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwcHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UgdXApIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogc3BhY2luZyg4KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5xdW90ZS1sZWZ0LXNpZGUgcC5wdWxsLXF1b3RlIHtcclxuXHRcdGJvcmRlci1sZWZ0OiAxcmVtIHNvbGlkICM2RTZFNkQ7XHJcblx0XHQvLyAmOmJlZm9yZSxcclxuXHRcdC8vICY6YWZ0ZXIge1xyXG5cdFx0Ly8gXHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHQvLyB9XHJcblx0XHRmb250LXNpemU6IHNwYWNpbmcoMjQpO1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1NnB4KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDRyZW07XHJcblx0XHRcdC8vIHBhZGRpbmctcmlnaHQ6IDRyZW07XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwcHg7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogM3JlbTtcclxuXHRcdFx0Ly8gcGFkZGluZy1yaWdodDogM3JlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5xdW90ZS1yaWdodC1zaWRlIHtcclxuXHRcdGgzIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IHNwYWNpbmcoNDApO1xyXG5cdFx0XHRAZXh0ZW5kICVpbmRpY2F0b3I7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDogc3BhY2luZyg0OCkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRoNCB7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nLW1vcmUoMTYpO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDE4KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nLW1vcmUoMjApO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5ib2R5IHtcclxuXHRcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbiAgXHJcbiAgLmludHJvLWNvcHkge1xyXG5cdHBhZGRpbmc6IDFlbTtcclxuXHRtYXJnaW46IDUwdmggYXV0bztcclxuXHRtYXgtd2lkdGg6IDE1ZW07XHJcblx0Zm9udC1mYW1pbHk6IEhlbHZldGljYTtcclxuXHRmb250LXdlaWdodDogbGlnaHRlcjtcclxuXHRmb250LXNpemU6IDJlbTtcclxuXHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcblx0Ly9HbyB0byB0b3AgQnV0dG9uXHJcblx0Ly9pY29uXHJcblx0LnBhZ2UtaG9tZSAudG9wLWxpbmstaWNvbiB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG5cdH1cclxuICBcclxuICAvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLlxyXG4gIC5zY3JlZW4tcmVhZGVyLXRleHQge1xyXG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdCAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xyXG5cdCAgbWFyZ2luOiAtMXB4O1xyXG5cdCAgYm9yZGVyOiAwO1xyXG5cdCAgcGFkZGluZzogMDtcclxuXHQgIHdpZHRoOiAxcHg7XHJcblx0ICBoZWlnaHQ6IDFweDtcclxuXHQgIG92ZXJmbG93OiBoaWRkZW47XHJcblx0ICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG5cdCAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xyXG4gIFxyXG5cdCAgJjpmb2N1cyB7XHJcblx0XHQgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0ICB0b3A6IDVweDtcclxuXHRcdCAgbGVmdDogNXB4O1xyXG5cdFx0ICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXJcclxuXHRcdCAgY2xpcC1wYXRoOiBub25lO1xyXG5cdFx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG5cdFx0ICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcclxuXHRcdCAgd2lkdGg6IGF1dG87XHJcblx0XHQgIGhlaWdodDogYXV0bztcclxuXHRcdCAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0ICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0ICBjb2xvcjogIzQ0NDtcclxuXHRcdCAgZm9udC1zaXplOiAxZW07XHJcblx0XHQgIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcclxuXHQgIH1cclxuICB9IiwiLy9yZW1vdmVzIGgyIGluZGljYXRvciBvbmx5IGZvciB0b3AgZnVsbHBhZ2UgYmFubmVyXHJcbi5pbm5lci1wYWdlIC5mdWxsLXBhZ2UtYmFubmVyIGgyOmJlZm9yZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG4vL21haW4gY29udGVudCBmb3IgaW5uZXIgcGFnZXNcclxuLmlubmVyLXBhZ2UgLm1haW4tY29udGVudCB7XHJcblxyXG5cdHBhZGRpbmctYm90dG9tOiBzcGFjaW5nKDI0KTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7ICBcclxuICAgXHRcdC8qIElFMTArIHNwZWNpZmljIHN0eWxlcyBnbyBoZXJlICovXHJcbiAgIFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgXHRcdC5pbm5lci1wYWdlLXJlZ2lvbiAge1xyXG4gICBcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuICAgXHRcdH1cclxuXHR9XHJcblx0LmlubmVyLXBhZ2UtcmVnaW9uOm5vdCgucmVnaW9uLWJhY2tncm91bmQpIHtcclxuXHRcdHBhZGRpbmctdG9wOiBzcGFjaW5nKDMyKTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjaW5nKDgpO1xyXG5cdH1cclxuXHQuaW5uZXItcGFnZS1yZWdpb24ucmVnaW9uLWJhY2tncm91bmQge1xyXG5cdFx0aDI6YmVmb3JlIHtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkd2hpdGU7XHJcblx0XHR9XHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vL1NUQVkgQ09OTkVDVEVEISBQYWdlIC0gU3BlY2lmaWMgcnVsZXNcclxuaDIuaWNvbi1oZWFkaW5nIHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdHBhZGRpbmctbGVmdDogMTEwcHg7XHJcblx0fVxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdGxlZnQ6IC0xMTBweDtcclxuXHRcdH1cclxuXHRcdHdpZHRoOiA3OHB4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmOmFmdGVyIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAnY3ZyaWEtaWNvbnMnICFpbXBvcnRhbnQ7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogOTZweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IC04cHg7XHJcblx0XHR0b3A6IDE4cHg7XHJcblx0XHR3aWR0aDogOTZweDtcclxuXHRcdGhlaWdodDogOTZweDtcclxuXHR9XHJcbn1cclxuLmljb24taGVhZGluZy1tYWNib29rLWltZzphZnRlciB7XHJcblx0Y29udGVudDogJyc7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2Fzc2V0cy9pbWcvcGhvdG9zL21hY2Jvb2tfc2l0ZV93ZWIuanBnKTtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG4uaWNvbi1oZWFkaW5nLWJyb3dzZXI6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6ICdcXGU5MWYnO1xyXG5cdGZvbnQtd2VpZ2h0OiAxMDA7XHJcblx0LXdlYmtpdC10ZXh0LXN0cm9rZTogMC4wMDlyZW07XHJcbn1cclxuLmljb24taGVhZGluZy1ib29rLWltZzphZnRlciB7XHJcblx0Y29udGVudDogJyc7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2Fzc2V0cy9pbWcvcGhvdG9zL3JhX2p1ZGljaWFpcmVfMjAyMC5wbmcpO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbi5pY29uLWhlYWRpbmctYWNjZXNzLWRvYzphZnRlciB7XHJcblx0Y29udGVudDogJ1xcZTkxNyc7XHJcblx0LXdlYmtpdC10ZXh0LXN0cm9rZTogMC4wMDlyZW07XHJcbn1cclxuLmljb24taGVhZGluZy1waW46YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6ICdcXGU5NDcnO1xyXG5cdC13ZWJraXQtdGV4dC1zdHJva2U6IDAuMDA5cmVtO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuLmljb24taGVhZGluZy1icm93c2VyLTI6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6ICdcXGU5MjQnO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuLmljb24taGVhZGluZy1zYXZvaXI6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6ICdcXGU5MmInO1xyXG5cdC13ZWJraXQtdGV4dC1zdHJva2U6IDAuMDRyZW07XHJcblx0dG9wOiAxcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8vQSB5ZWFyIG9mIGFkYXB0YXRpb24gYW5kIGNvbnRpbnVpdHkgb2YgdGhlIHB1YmxpYyBzZXJ2aWNlIG9mIGV1cm9wZWFuIGp1c3RpY2VcclxuLmdyYXBoLWRhdGVzIC5ncmFwaC1kYXRlcy1pbWcge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdH1cclxuXHR3aWR0aDogOTBweDtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiAyNHB4O1xyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogOTBweDtcclxuXHR9XHJcbn1cclxuLmdyYXBoLWRhdGVzIC5ncmFwaC1kYXRlcy10eHQge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTkwcHgpO1xyXG5cdFx0dG9wOiAtNHB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHR9XHJcbn1cclxuXHJcbi8vIEZvY3VzIHRpdGxlIHN0eWxpbmdcclxuLmZvY3VzLXRpdGxlIHtcclxuXHRjbGVhcjogYm90aDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG59XHJcblxyXG4uZm9jdXMtdGl0bGUgZGl2LmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xyXG5cdHBhZGRpbmctbGVmdDogMDtcclxuXHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHRtYXgtd2lkdGg6IDEyLjVyZW07XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRtYXJnaW4tdG9wOiAwLjdyZW07XHJcbn1cclxuXHJcbi5mb2N1cy10aXRsZSBkaXYuY29sdW1uczpmaXJzdC1jaGlsZCBoMyB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLy8gQkdcclxuLmZvY3VzLXRpdGxlIGRpdi5jb2x1bW5zOmZpcnN0LWNoaWxkOmxhbmcoYmcpIHtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxNnJlbTtcclxufVxyXG5cclxuLy8gRVRcclxuLmZvY3VzLXRpdGxlIGRpdi5jb2x1bW5zOmZpcnN0LWNoaWxkOmxhbmcoZXQpIHtcclxuXHRtYXgtd2lkdGg6IDE2cmVtO1xyXG59XHJcblxyXG5cclxuLy8gU0tcclxuLmZvY3VzLXRpdGxlIGRpdi5jb2x1bW5zOmZpcnN0LWNoaWxkOmxhbmcoc2spIHtcclxuXHRtYXgtd2lkdGg6IDE3LjVyZW07XHJcbn1cclxuXHJcblxyXG4vLyBwdWxsLXF1b3RlIC0gYWRtaW5pc3RyYXRpb24taW4tc2VydmljZS1vZi1qdXN0aWNlIC0gcGFnZS1zZWN0aW9uLTNcclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIExUIC0gbGFuZ3VhZ2VcclxuLy8gLnBhZ2Utc2VjdGlvbi0zIGRpdjpsYW5nKGx0KSAucHVsbC1xdW90ZSB7XHJcbi8vIFx0cGFkZGluZy1sZWZ0OiA0LjRyZW07XHJcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiA0LjRyZW07XHJcblx0XHJcbi8vIFx0JjpiZWZvcmUge1xyXG4vLyBcdFx0Ym90dG9tOiAtMC45cmVtO1xyXG4vLyBcdFx0bGVmdDogNC41cmVtO1xyXG4vLyBcdH1cclxuXHJcbi8vIFx0JjphZnRlciB7XHJcbi8vIFx0XHRyaWdodDogNHJlbTtcclxuLy8gXHR9XHJcbi8vIH1cclxuXHJcbi8vIGFuZG9ycmEtbG9nbyAtLS0gc3R5bGluZ1xyXG4ucGFnZS1zZWN0aW9uLTIgLmFuZG9ycmEtbG9nbyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLnBhZ2Utc2VjdGlvbi0yIC5hbmRvcnJhLWxvZ28gLmFuZG9ycmEtbG9nby1zdmcge1xyXG5cdG1heC13aWR0aDogMTJyZW07XHJcbn1cclxuXHJcblxyXG4vLyBBZG1pbmlzdHJhdGlvbiAtIFBhZ2UgMyAtIFJlZ2lvbiA0IC0gSDMgZGlmZmVyZW50IGNvbG9yXHJcblxyXG4ucGFnZS1zZWN0aW9uLTMgI3JlZ2lvbi00IHtcclxuXHRoMyB7XHJcblx0XHRjb2xvcjogIzczNDg1QztcclxuXHR9XHJcbn0iLCIvLzQwNCBQYWdlIEVycm9yXHJcbi5wYWdlLTQwNC1lcnJvciAge1xyXG5cdGhlYWRlcixcclxuXHRmb290ZXIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblx0LmZ1bGwtcGFnZS1iYW5uZXIge1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHQvL3NoYXJlIGJsb2NrXHJcblx0XHQuc2hhcmUtYmxvY2sge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdFx0aDEge1xyXG5cdFx0XHRmb250LXNpemU6IHNwYWNpbmcoNDgpO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDkwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nLW1vcmUoMTA0KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2tpcC1saW5rIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59IiwiLyogIEBncm91cCBGdWxsIHdpZHRoIGltYWdlICovXHJcblxyXG5cdC5mdWxsLXdpZHRoLWltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuZnVsbC13aWR0aC1pbWctbm8tcGFkZGluZ3Mge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuXHRcdCYucm93LmV4cGFuZGVkLCAmLnJvdyB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0XHRpbWcge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9IiwiLy9mb290ZXIgbWVudVxyXG4jZm9vdGVyOmZvY3VzIHtcclxuXHRvdXRsaW5lOiAxcHggc29saWQgJGJsYWNrO1xyXG5cdG91dGxpbmU6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvIDFweDtcclxufVxyXG5mb290ZXIgLnJvdy5leHBhbmRlZCB7XHJcblx0cGFkZGluZy1yaWdodDogMzMlICFpbXBvcnRhbnQ7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDExJSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiA5JSAhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG5cclxuZm9vdGVyIC5yb3cgLmNvbHVtbnMge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdH1cdFxyXG59XHJcblxyXG5mb290ZXIge1xyXG5cdGJvcmRlci10b3A6IDhweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdHBhZGRpbmctdG9wOiBzcGFjaW5nKDMyKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2luZygyNCk7XHJcblxyXG5cdC5mb290ZXItbG9nbyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiBzcGFjaW5nKDgpOyBcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly9mb290ZXIgbWFpbiBtZW51XHJcblx0LmZvb3Rlci1jb3B5cmlnaHQge1xyXG5cdFx0cGFkZGluZy10b3A6IHNwYWNpbmcoMTYpO1xyXG5cdFx0Zm9udC1zaXplOiBzcGFjaW5nLW1vcmUoMTQpO1xyXG5cclxuXHRcdC5mb290ZXItY29weXJpZ2h0LWlubmVyIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXhcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmctbW9yZSgyMCk7IFxyXG5cdFx0fVxyXG5cclxuXHRcdC50b29sdGlwLWZvb3RlciB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIFx0XHRoZWlnaHQ6IDEuNnJlbTtcclxuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFyZW07XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuICAgIFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXhcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YTpiZWZvcmUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcclxuXHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhOmhvdmVyOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMTUlKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YTphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFjaztcclxuXHRcdFx0XHRsZWZ0OiAxLjhyZW07XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMS4ycmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhOmhvdmVyOmFmdGVyIHtcclxuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxNSUpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhOm5vdCg6aG92ZXIpIHtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC50b29sdGlwLWZvb3RlciAudG9vbHRpcCB7XHJcblx0XHRcdGJvdHRvbTogMi42cmVtO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdHRvcDogYXV0bztcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdG1heC13aWR0aDogbm9uZTtcclxuXHRcdFx0ei1pbmRleDogMztcclxuXHJcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDIwcHgpIHtcclxuXHRcdFx0XHR3aWR0aDogMjcwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0XHR3aWR0aDogMzcwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0d2lkdGg6IDQyMHB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0yMTBweDtcclxuXHRcdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bm90KC50b29sdGlwLW9wZW4pIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLnRvb2x0aXAtb3BlbiB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcclxuXHR9XHJcblxyXG5cdFxyXG5cdC8vRm9vdGVyIFNvY2lhbCBNZWRpYSBMaW5rc1xyXG5cdC5mb290ZXItc29jaWFsIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoMjQpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmZvb3Rlci1zb2NpYWwgdWwubWVudSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdH1cclxuXHRcdGxpIGEge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiBzcGFjaW5nKDQpO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IHNwYWNpbmcoMTYpO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogc3BhY2luZyg4KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0bGkgYTpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDE1JSk7XHJcblx0XHR9XHJcblx0XHRsaTpsYXN0LWNoaWxkIGEge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0XHRsaSBhOmJlZm9yZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZygyNCk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLy9IZWFkZXJcclxuLmhpZGUtaGVhZGVyIGhlYWRlciB7XHJcblx0dG9wOiAtMTgwcHg7XHJcbn1cclxuLmhpZGUtaGVhZGVyIC5mdWxsLXBhZ2UtYmFubmVyIHtcclxuXHRwYWRkaW5nLXRvcDogMDtcclxufVxyXG5cclxuaGVhZGVyIHtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlO1xyXG5cdHRvcDogMDtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0ei1pbmRleDogMTAyO1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6IDBweCA2cHggMTlweCAwcHggcmdiYSgkYmxhY2ssIDAuMTUpO1xyXG5cdC1tb3otYm94LXNoYWRvdzogICAgMHB4IDZweCAxOXB4IDBweCByZ2JhKCRibGFjaywgMC4xNSk7XHJcblx0Ym94LXNoYWRvdzogICAgICAgICAwcHggNnB4IDE5cHggMHB4IHJnYmEoJGJsYWNrLCAwLjE1KTtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGxlZnQ6IHNwYWNpbmcoMzIpO1xyXG5cdFx0XHRyaWdodDogc3BhY2luZygzMik7XHJcblx0XHRcdGhlaWdodDogM3B4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdGxlZnQ6IHNwYWNpbmcoMjQpO1xyXG5cdFx0XHRyaWdodDogc3BhY2luZygyNCk7XHRcclxuXHRcdH1cclxuXHR9XHJcblx0cGFkZGluZy10b3A6IHNwYWNpbmcoMTYpICFpbXBvcnRhbnQ7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdHBhZGRpbmctdG9wOiBzcGFjaW5nKDI0KSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdHBhZGRpbmctdG9wOiBzcGFjaW5nKDMyKSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQvL3N1Ym1lbnUgYXJyb3dzIC0gZ2VuZXJpYyBydWxlIGZvciBoZWFkZXIgYXJyb3dzIFxyXG5cdC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcclxuXHRcdEBleHRlbmQuaWNvbi1hcnJvdy1kb3duO1xyXG5cdFx0QGV4dGVuZC5pY29uO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDE1JSk7XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nKDI0KTtcclxuXHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IHNwYWNpbmcoMjQpO1xyXG5cdFx0XHRoZWlnaHQ6IHNwYWNpbmcoMjQpO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlO1xyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlcjphZnRlciB7XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vS2VlcHMgYXJyb3cgYWN0aXZlXHJcblx0LmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmUgPiBhOmFmdGVyIHtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0fVxyXG5cdC8vc3ViIG1lbnUgdWwtIHNoYWRvdyAmIGJvcmRlclxyXG5cdC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwge1xyXG5cdFx0LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggNnB4IDE5cHggMHB4IHJnYmEoJGJsYWNrLCAwLjE1KTtcclxuXHRcdC1tb3otYm94LXNoYWRvdzogICAgMHB4IDZweCAxOXB4IDBweCByZ2JhKCRibGFjaywgMC4xNSk7XHJcblx0XHRib3gtc2hhZG93OiAgICAgICAgIDBweCA2cHggMTlweCAwcHggcmdiYSgkYmxhY2ssIDAuMTUpO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgZ3JleSgwKTtcclxuXHRcdGxpIGEge1xyXG4gICAgXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgXHRcdHBhZGRpbmc6IHNwYWNpbmcoMjQpO1xyXG4gICAgXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBcdH1cclxuICAgIFx0bGkgYTpob3ZlciB7XHJcbiAgICBcdFx0YmFja2dyb3VuZDogJGJsYWNrO1xyXG4gICAgXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgXHR9XHJcblx0fVxyXG5cdC8vbG9nbyAmIG1lbnUgLSBiaWcgYm9yZGVyIGJvdHRvbVxyXG5cdC5oZWFkZXItbG9nbyxcclxuXHQuaGVhZGVyLW1lbnUgdWwubWVudSBsaSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQvL2xvZ29cclxuXHQuaGVhZGVyLWxvZ28ge1xyXG5cdFx0d2lkdGg6IDIxMHB4O1xyXG5cdFx0LmhlYWRlci1sb2dvLXN2ZyB7XHJcblx0XHRcdGhlaWdodDogNDhweDtcclxuXHRcdH1cclxuXHRcdC8vbG9nbyBJbWcgRWxlbWVudCBzdmdcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzk0cHgpIHtcclxuXHRcdFx0d2lkdGg6IDEyMHB4O1xyXG5cdFx0XHQvL2xvZ29cclxuXHRcdFx0LmhlYWRlci1sb2dvLXN2ZyB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0XHQvL3N5bWJvbFxyXG5cdFx0XHQuaGVhZGVyLWxvZ28tc3ltYm9sLXN2ZyB7XHJcblx0XHRcdFx0d2lkdGg6IHNwYWNpbmcoNDApO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM5NXB4KSB7XHJcblx0XHRcdC5oZWFkZXItbG9nby1zeW1ib2wtc3ZnIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQvL2xvZ28gbWFpbiBkaXYgd2lkdGhcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2luZy1tb3JlKDE0KTtcclxuXHRcdH1cclxuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjaW5nKDI0KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdHdpZHRoOiAyNjNweDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoMzIpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHR3aWR0aDogMjAwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHR3aWR0aDogMjY3cHg7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiBzcGFjaW5nKDQ4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9tZW51XHJcblx0Ly9kcmlsbGRvd24gbWVudSAtIGZvciBtb2JpbGUgJiB0YWJsZXRcclxuXHQuaGVhZGVyLW1lbnUge1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDM2MHB4KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDI5MnB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAzNjBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSBkaXYuaXMtZHJpbGxkb3duIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cdFxyXG5cdH1cclxuXHQvL0Rlc2t0b3AgbWVudVxyXG5cdC5oZWFkZXItbWVudSAubWVudSBsaSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIlO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMiU7XHRcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51IC5tZW51IGxpOm5vdCguaXMtc3VibWVudS1pdGVtKSA+IGE6aG92ZXIge1xyXG5cdFx0Y29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMTUlKTtcclxuXHR9XHJcblx0LmhlYWRlci1tZW51IC5tZW51IGxpLmFjdGl2ZSB7XHJcblx0XHRhIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0Y29sb3I6IGJsYWNrO1xyXG5cdFx0fVxyXG5cdFx0dWwgbGkgYSB7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0fVx0XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSAubWVudSBsaTpmaXJzdC1jaGlsZCB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogNC41JTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogNSU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSAubWVudSBsaTpsYXN0LWNoaWxkIHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSAubWVudSBsaSBhIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiBzcGFjaW5nKDE2KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoMjQpO1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTQ0cHggLSAxOXB4KTtcclxuXHRcdFx0bWluLWhlaWdodDogOTVweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDEzKTtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE3MXB4IC0gMjhweCk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI0MHB4IC0gMzBweCk7XHJcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDE0KTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoNDgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvL2NzcyBvbmx5IGZvciAtIExhbmcgZW5cclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGVuKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2luZyg2NCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvL2NzcyBvbmx5IGZvciAtIExhbmcgZnJcclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGZyKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAzMHB4KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMzJweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhmcikge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDIzMHB4IC0gMzBweCk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjQwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWluLWhlaWdodDogOTZweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjgwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoZnIpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMzBweCAtIDMwcHgpO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE0OHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGZyKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAzMHB4KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhmcikge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvL2NzcyBvbmx5IGZvciAtIExhbmcgZXNcclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGVzKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAzMHB4KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZXMpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzcmVtXHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW1cclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoZXMpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoZXMpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9jc3Mgb25seSBmb3IgLSBMYW5nIHB0XHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhwdCkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMzBweCk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAzMHB4KTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW07XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKHB0KSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTI1cHggLSAzMHB4KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNTBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhwdCkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDIxMHB4IC0gMzBweCk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjcwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDQ4cHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI5MHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKHB0KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMzBweCAtIDMwcHgpO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE1MHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKHB0KSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAzMHB4KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMzBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNTBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhwdCkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMzBweCk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9jc3Mgb25seSBmb3IgLSBMYW5nIGRlXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhkZSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMzBweCk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZGUpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGRlKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMDBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMzBweCk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyODBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhkZSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMzBweCk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMzVweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE3NXB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE5MHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGRlKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAzMHB4KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDhweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjBweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhkZSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMzBweCk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTI1cHggLSAzMHB4KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9jc3Mgb25seSBmb3IgLSBMYW5nIG5sXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhubCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjRweCAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhubCkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE1MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobmwpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygyMTBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW07XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE5LjM3NXJlbSAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcobmwpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTkwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKG5sKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9jc3Mgb25seSBmb3IgLSBMYW5nIGV0XHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhldCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhldCkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE5MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIwMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGV0KSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTUwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTkwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI0MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoZXQpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMTBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE5MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGV0KSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhldCkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBnYVxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoZ2EpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoZ2EpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdFxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEzMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE1MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZ2EpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygyMTBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxOTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjQwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhnYSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE1MHB4IC0gMS44NzVyZW0pO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxOTBweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhnYSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE1MHB4IC0gMzBweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhnYSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEzMHB4IC0gMS44NzVyZW0pO1xyXG5cdH1cclxuXHJcblx0Ly9jc3Mgb25seSBmb3IgLSBMYW5nIGhyXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhocikge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjRweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoaHIpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTI0cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoaHIpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIyNHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNXJlbTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjcwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGhyKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhocikge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEzMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoaHIpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBiZ1xyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoYmcpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMDBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDVyZW07XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhiZykge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE5NnB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIxMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoYmcpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoYmcpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMTBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGJnKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTEwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhiZykge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMzRweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9jc3Mgb25seSBmb3IgLSBMYW5nIGNzXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhjcykge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEzNXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9jc3Mgb25seSBmb3IgLSBMYW5nIGRhXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhkYSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE1MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNXJlbSAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoZGEpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMzVweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBlbFxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoZWwpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMjVweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMzBweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW0gIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE2MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhlbCkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE1NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE2NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoZWwpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygyMzVweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDM1cHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI2MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhlbCkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE3MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoZWwpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjNweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKGVsKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE0MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvL2NzcyBvbmx5IGZvciAtIExhbmcgaHVcclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGh1KSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTM1cHggLSAxLjg3NXJlbSk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoaHUpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxOTVweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxOTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjIwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGh1KSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMjA1cHggLSAxLjg3NXJlbSk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjYwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI2MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhodSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDE0NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE3MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoaHUpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYyg5NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhodSkge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDkwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBpdFxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoaXQpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGl0KSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoaXQpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIyMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjg1cHggLSAxLjg3NXJlbSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA1cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhpdCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoaXQpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMDBweCAtIDEuODc1cmVtKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcoaXQpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYyg5N3B4IC0gMS44NzVyZW0pO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDk3cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBsdFxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcobHQpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDExNXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE4NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgyKSA+IGE6bGFuZyhsdCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTg1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKGx0KSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjU1cHggLSAxLjg3NXJlbSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjU1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGx0KSB7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTU1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKGx0KSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcobHQpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwNXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvL2NzcyBvbmx5IGZvciAtIExhbmcgbHZcclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGx2KSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMTVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGx2KSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMzVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHRcclxuXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobHYpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI0NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMzVweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDVyZW07XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMzA1cHggLSAxLjg3NXJlbSk7XHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKGx2KSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcobHYpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoODVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcobHYpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoOTVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9jc3Mgb25seSBmb3IgLSBMYW5nIG10XHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhtdCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTM1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTc1cHggLSAxLjg3NXJlbSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcobXQpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMzBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcobXQpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjUwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMnB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjcwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhtdCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTcwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE3OHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhtdCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhtdCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYyg5MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoOTBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly8vL2NzcyBvbmx5IGZvciAtIExhbmcgcGxcclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKHBsKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTQwcHggLSAxLjg3NXJlbSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcocGwpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcocGwpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjAwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyNjVweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDQpID4gYTpsYW5nKHBsKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNTVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNjVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTgwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDUpID4gYTpsYW5nKHBsKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMTVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNikgPiBhOmxhbmcocGwpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEzNXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvLy8vY3NzIG9ubHkgZm9yIC0gTGFuZyByb1xyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcocm8pIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pO1xyXG5cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjVweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKHJvKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTtcclxuXHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTI1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKHJvKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMjBweCAtIDEuODc1cmVtKTtcclxuXHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjI1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDMyNXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcocm8pIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDkwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKHJvKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYyg5MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvLy8vY3NzIG9ubHkgZm9yIC0gTGFuZyBza1xyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoc2spIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEzNXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEyNXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMykgPiBhOmxhbmcoc2spIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDIxNXB4IC0gMS44NzVyZW0pO1xyXG5cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDUwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjc1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI5NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNCkgPiBhOmxhbmcoc2spIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEyMHB4IC0gMS44NzVyZW0pO1xyXG5cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxODVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoNSkgPiBhOmxhbmcoc2spIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMS44NzVyZW0pO1xyXG5cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTg1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDYpID4gYTpsYW5nKHNrKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYyg5NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvLy8vY3NzIG9ubHkgZm9yIC0gTGFuZyBzbFxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMSkgPiBhOmxhbmcoc2wpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDVyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDMpID4gYTpsYW5nKHNsKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyMzVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygyNDBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDMycHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDMzMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhzbCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTcwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE4MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhzbCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTA1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDExMHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhzbCkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTE1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vLy9jc3Mgb25seSBmb3IgLSBMYW5nIHN2XHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgxKSA+IGE6bGFuZyhzdikge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTIwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTM1cHggLSAxLjg3NXJlbSk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWRlci1tZW51ID4gLm1lbnUgPiBsaTpudGgtY2hpbGQoMikgPiBhOmxhbmcoc3YpIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE0NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE1NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhzdikge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjI1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjQ1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI1NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhzdikge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE1NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhzdikge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxNDVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE0NHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhzdikge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDVweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDExNHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNjVweDtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly8vL2NzcyBvbmx5IGZvciAtIExhbmcgZmlcclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDEpID4gYTpsYW5nKGZpKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjBweCAtIDEuODc1cmVtKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMjVweCAtIDEuODc1cmVtKTtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW0gIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTMwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IC5tZW51ID4gbGk6bnRoLWNoaWxkKDIpID4gYTpsYW5nKGZpKSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE5MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGE6bGFuZyhmaSkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjUwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMjM1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDI4MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg0KSA+IGE6bGFuZyhmaSkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTYwcHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoMTc1cHggLSAxLjg3NXJlbSk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDE5MHB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg1KSA+IGE6bGFuZyhmaSkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYyg4NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLW1lbnUgPiAubWVudSA+IGxpOm50aC1jaGlsZCg2KSA+IGE6bGFuZyhmaSkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYyg4NXB4IC0gMS44NzVyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly9EZXNrdG9wIFN1Ym1lbnVcclxuXHQuaGVhZGVyLW1lbnUgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdHRvcDogLTNweDtcclxuXHRcdHJpZ2h0OiBzcGFjaW5nLW1vcmUoMjApO1xyXG5cdFx0cmlnaHQ6IC00cHg7XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHVsIHtcclxuXHRcdG1hcmdpbi10b3A6IC0zNnB4O1xyXG5cdFx0bWluLXdpZHRoOiAyNDVweDtcclxuICAgIFx0bWF4LXdpZHRoOiA0MDBweDtcclxuICAgIFx0cGFkZGluZy10b3A6IDA7XHJcbiAgICBcdHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgXHRsaSB7XHJcbiAgICBcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICBcdH1cclxuICAgIFx0bGkgYSB7XHJcbiAgICBcdFx0bWF4LXdpZHRoOiBub25lO1xyXG4gICAgXHRcdG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICBcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgXHR9XHJcblx0fVxyXG5cdC5oZWFkZXItbWVudSA+IHVsLm1lbnUgPiBsaSB1bCBsaTpiZWZvcmUge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblx0Ly9sYW5ndWFnZSBzZWxlY3RvclxyXG5cdC5oZWFkZXItbGFuZ3VhZ2Utc2VsZWN0b3Ige1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOTRweCkge1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTc2cHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjY2cHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDMxNHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0d2lkdGg6IDkycHg7XHJcblx0XHR9XHJcblx0XHR1bC5kcm9wZG93bi5tZW51Lmxhbmctc2VsZWN0b3Ige1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBzcGFjaW5nLW1vcmUoMTIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHVsIHtcclxuXHRcdFx0bWluLXdpZHRoOiAxNDBweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogc3BhY2luZy1tb3JlKDIwKTtcclxuXHRcdFx0aGVpZ2h0OiAyODBweDtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdFx0XHRyaWdodDogMDtcclxuICAgIFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0fVxyXG5cdFx0dWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGEsXHJcblx0XHQuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogc3BhY2luZyg4KSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHRcdHBhZGRpbmc6IHNwYWNpbmctbW9yZSgxMCkgc3BhY2luZygzMikgc3BhY2luZy1tb3JlKDEwKSBzcGFjaW5nLW1vcmUoMTQpICFpbXBvcnRhbnQ7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRwYWRkaW5nOiBzcGFjaW5nLW1vcmUoMjApIHNwYWNpbmcoNDgpIHNwYWNpbmctbW9yZSgyMCkgc3BhY2luZy1tb3JlKDIwKSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IHNwYWNpbmcoNDApO1xyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHR0b3A6IHNwYWNpbmctbW9yZSgxMCk7XHJcblx0XHRcdFx0cmlnaHQ6IHNwYWNpbmctbW9yZSgxMCkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHR0b3A6IHNwYWNpbmctbW9yZSgyMCk7XHJcblx0XHRcdFx0XHRyaWdodDogc3BhY2luZygxNikgIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpob3ZlcjphZnRlciB7XHJcblx0XHRcdFx0dG9wOiBzcGFjaW5nLW1vcmUoMTApO1xyXG5cdFx0XHRcdHJpZ2h0OiBzcGFjaW5nLW1vcmUoMTApICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0dG9wOiBzcGFjaW5nLW1vcmUoMjApO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IHNwYWNpbmcoMTYpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vbWVudSBmb3IgbW9iaWxlXHJcbmhlYWRlciAuaGVhZGVyLW1lbnUtbW9iaWxlIHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdC50aXRsZS1iYXIgYnV0dG9uLm1lbnUtaWNvbiB7XHJcblx0XHRcdHdpZHRoOiBzcGFjaW5nKDQwKTtcclxuXHRcdFx0aGVpZ2h0OiBzcGFjaW5nKDQwKTtcclxuXHRcdFx0bWFyZ2luLXRvcDogLThweDtcdFxyXG5cdFx0fVxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdC50aXRsZS1iYXIge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHR9XHJcblx0XHQudGl0bGUtYmFyIGJ1dHRvbi5tZW51LWljb246YmVmb3JlIHtcclxuXHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nKDI0KTtcclxuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0fVxyXG5cdFx0LnRpdGxlLWJhciBidXR0b24ubWVudS1pY29uOmFmdGVyIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHRcdC50aXRsZS1iYXItdGl0bGUge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA2cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC50aXRsZS1iYXIge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdC50aXRsZS1iYXItdGl0bGUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0d2lkdGg6IDUwcHg7XHJcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoMTYpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdGJvZHkgLmhlYWRlci1tZW51LW1vYmlsZSAjbW9iaWxlLW1lbnUtdWwge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuLy9tb2JpbGUgbW9kYWwgbWVudVxyXG5ib2R5LmV4cGFuZC1tb2JpbGUtbWVudSB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHQuaGVhZGVyOmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBibGFjaztcclxuXHRcdFx0b3BhY2l0eTogMC42O1xyXG5cdFx0fVxyXG5cdFx0LmhlYWRlcjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICdcXGU5MGYnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAnY3ZyaWEtaWNvbnMnICFpbXBvcnRhbnQ7XHJcblx0XHRcdHJpZ2h0OiBzcGFjaW5nKDMyKTtcclxuXHRcdFx0dG9wOiBzcGFjaW5nKDMyKTtcclxuXHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nKDI0KTtcclxuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0fVxyXG5cdH1cdFxyXG59XHJcbmJvZHkuZXhwYW5kLW1vYmlsZS1tZW51IC5oZWFkZXItbWVudS1tb2JpbGUge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRtYXgtd2lkdGg6IDcwJTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR6LWluZGV4OiA5OTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdC8vbWVudSBoZWFkZXJcclxuXHRcdC50aXRsZS1iYXIgLnRpdGxlLWJhci10aXRsZSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0XHQvL21lbnUgdWwgaXRlbXNcclxuXHRcdCNtb2JpbGUtbWVudS11bCB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblx0XHRcdG1hcmdpbi10b3A6IHNwYWNpbmcoNjQpO1xyXG5cdFx0fVxyXG5cdFx0I21vYmlsZS1tZW51LXVsIC5pcy1kcmlsbGRvd24ge1xyXG5cdFx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdCNtb2JpbGUtbWVudS11bCB1bCBsaSBhIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAyNHB4O1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMjRweDtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiBzcGFjaW5nKDMyKTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogc3BhY2luZyg1Nik7XHJcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDE1KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHdpZHRoOiBzcGFjaW5nKDgpO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0ei1pbmRleDogOTk7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCNtb2JpbGUtbWVudS11bCB1bCBsaS5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQge1xyXG5cdFx0XHQvL2Fycm93IGxlZnQgKHN1Ym1lbnUgaW5kaWNhdG9yKVxyXG5cdFx0XHRhOmFmdGVyIHtcclxuXHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZygyNCk7XHJcblx0XHRcdFx0Y29udGVudDogJ1xcZTkwYic7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICdjdnJpYS1pY29ucycgIWltcG9ydGFudDtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0cmlnaHQ6IHNwYWNpbmcoMzIpO1xyXG5cdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IC0xMnB4O1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdH1cclxuXHRcdFx0dWwgbGkgYTphZnRlciB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ly9ob3ZlciBtZW51IGl0ZW1cclxuXHRcdCNtb2JpbGUtbWVudS11bCB1bCBsaSBhOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogJGJsYWNrO1xyXG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCNtb2JpbGUtbWVudS11bCB1bCBsaSBhOmZvY3VzLXZpc2libGUge1xyXG5cdFx0XHRsZWZ0OiAzN3B4O1xyXG4gICAgXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSA3NHB4KTtcclxuICAgIFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCNtb2JpbGUtbWVudS11bCB1bCBsaSBhOmZvY3VzOmhvdmVyOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdH1cclxuXHRcdCNtb2JpbGUtbWVudS11bCB1bCBsaSBhOmZvY3VzOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdH1cclxuXHRcdC8vYmFjayBtZW51IGl0ZW1cclxuXHRcdCNtb2JpbGUtbWVudS11bCB1bCBsaSB1bCBsaS5qcy1kcmlsbGRvd24tYmFjayBhIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiBzcGFjaW5nKDU2KTtcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogJ1xcZTkwYSc7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogLTEycHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0XHRsZWZ0OiBzcGFjaW5nKDI0KTtcclxuXHRcdFx0XHRyaWdodDogYXV0bztcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fSBcclxuXHRcdH1cclxuXHRcdC8vYnVyZ2VyIG1lbnUgaWNvblxyXG5cdFx0LnRpdGxlLWJhciBidXR0b24ubWVudS1pY29uIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogc3BhY2luZyg0MCk7XHJcblx0XHRcdGhlaWdodDogc3BhY2luZyg0MCk7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0ei1pbmRleDogOTk7XHJcblx0XHR9XHJcblx0XHQvL2Nsb3NlIGljb25cclxuXHRcdC50aXRsZS1iYXIgYnV0dG9uLm1lbnUtaWNvbjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiAnXFxlOTEwJztcclxuXHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nKDMyKTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9idXJnZXIgbWVudSBpY29uIHBvc2l0aW9uXHJcblx0LnRpdGxlLWJhciBidXR0b24ubWVudS1pY29uIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdHJpZ2h0OiBzcGFjaW5nKDMyKTtcclxuXHRcdFx0dG9wOiBzcGFjaW5nKDMyKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuXHRcdFx0cmlnaHQ6IHNwYWNpbmcoMTYpO1xyXG5cdFx0XHR0b3A6IHNwYWNpbmcoMTYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly9tZW51IHNjcm9sbGluZyB3aGVuIGJyb3dzZXIgaXMgdW5kZXIgNzY4cHggXHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzY4cHgpIHtcclxuXHRcdC5kb2NzLWNvZGUtbGl2ZSB7XHJcblx0XHRcdGhlaWdodDogMTAwdmg7XHJcblx0XHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIEFjY2Vzc2liaWxpdHkgc3R5bGluZyBmaXhlc1xyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cclxuXHRidXR0b24jbW9iaWxlLWJ1cmdlci1tZW51IHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0fVxyXG5cclxuXHRidXR0b24jbW9iaWxlLWJ1cmdlci1tZW51IHNwYW4uc2hvdy1mb3Itc3Ige1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxufSIsIi8vSGVybyBCYW5uZXIgLSBHZW5lcmljIHJ1bGVzXG4vL2Z1bGwgcGFnZSBiYW5uZXIgLSBmb3IgdG9wICYgY29udGVudCByZWdpb25zXG4uZnVsbC1wYWdlLWJhbm5lciB7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAxMDB2aDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Lmhlcm8tYmFja2dyb3VuZC1pbWFnZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdG9wYWNpdHk6IDAuMjtcblx0fVxuXG5cdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdHBhZGRpbmctdG9wOiBzcGFjaW5nKDcyKTtcblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZy10b3A6IDEwMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHBhZGRpbmctdG9wOiAxMThweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuXHRcdHBhZGRpbmctdG9wOiBzcGFjaW5nKDEyOCk7XHRcblx0fVxuXG5cdGgxIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdEBleHRlbmQgJWluZGljYXRvcjtcblx0fVxuXHQvL2dvIGRvd25cblx0LmdvLWRvd24gYSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxMDA7XG5cdH1cblx0LmdvLWRvd24gYTpmb2N1cy12aXNpYmxlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdC5hbGlnbi1taWRkbGUge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNpbmcoMzIpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdH1cblx0fVxufVxuXG4vLyBmdWxsLXBhZ2UtYmFubmVyIC0gcnVsZXMgZm9yIG1vYmlsZSBhbmQgbm90IGZvciBsb2FkZXItYmxvY2tcbi5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdHdpZHRoOiA5NSU7XG5cdH1cbn1cblxuLy9IZXJvIEJhbm5lciAtIEhvbWUgUGFnZSBydWxlc1xuLnBhZ2UtaG9tZSAuZnVsbC1wYWdlLWJhbm5lciB7XG5cdGgxIHtcblx0XHRmb250LXNpemU6IHNwYWNpbmcoNDgpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmb250LXNpemU6IHNwYWNpbmctbW9yZSg5MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDEwNCk7XG5cdFx0fVxuXHR9XG5cdC8vZ28gZG93blxuXHQuZ28tZG93biBhIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Ym90dG9tOiBzcGFjaW5nKDMyKTtcblx0XHRAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkge1xuICAgXHRcdFx0LyogQ1NTIHNwZWNpZmljIHRvIGlPUyBkZXZpY2VzICovXG4gICBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0Ym90dG9tOiBzcGFjaW5nLW1vcmUoOTApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRsZWZ0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC0yNXB4O1xuXHRcdGhlaWdodDogNTBweDtcblx0XHR3aWR0aDogNTBweDtcblx0XHRib3JkZXItcmFkaXVzOiBzcGFjaW5nKDMyKTtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBibGFjaztcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdH1cblx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDJweCA1cHggOXB4IDBweCByZ2JhKCRibGFjaywgMC40NSk7XG5cdFx0XHRcdC1tb3otYm94LXNoYWRvdzogICAgMnB4IDVweCA5cHggMHB4IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblx0XHRcdFx0Ym94LXNoYWRvdzogICAgICAgICAycHggNXB4IDlweCAwcHggcmdiYSgkYmxhY2ssIDAuNDUpO1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IHNwYWNpbmcoMzIpO1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRoZWlnaHQ6IDU0cHg7XG5cdFx0XHRcdHdpZHRoOiA1NHB4O1xuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZyg0OCk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDFweDtcblx0XHRcdGxlZnQ6IDFweDtcblx0XHR9XG5cdH1cbn1cbi8vSGVybyBCYW5uZXIgLSBJbm5lciBQYWdlIHJ1bGVzXG4uaW5uZXItcGFnZSAuZnVsbC1wYWdlLWJhbm5lciB7XG5cdC5hbGlnbi1taWRkbGUge1xuXHRcdEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2luZyg0OCk7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoMjQpO1xuXHR9XG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Y29udGVudDogJyc7XG5cdH1cblx0Ly9ib3R0b20gc2Nyb2xsIGJvcmRlclxuXHQmOmJlZm9yZSB7XG5cdFx0aGVpZ2h0OiBzcGFjaW5nKDQwKTtcblx0XHR6LWluZGV4OiA5OTtcblx0XHRib3R0b206IHNwYWNpbmctbW9yZSgyMCk7XG5cdFx0cmlnaHQ6IDUwJTtcblx0XHRtYXJnaW4tcmlnaHQ6IC02cHg7IFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdHJpZ2h0OiBzcGFjaW5nKDI0KTtcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bzsgXG5cdFx0fVxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG5cdFx0XHRib3R0b206IHNwYWNpbmctbW9yZSgxMik7XG5cdFx0XHRoZWlnaHQ6IHNwYWNpbmcoMTYpO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwcHg7XG5cdFx0XHRyaWdodDogNTAlO1xuXHRcdH1cblx0fVxuXHQvL3doaXRlIGJhY2tncm91bmQgc3BhY2Vcblx0JjphZnRlciB7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0ei1pbmRleDogMTtcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRoZWlnaHQ6IHNwYWNpbmcoNDgpO1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG5cdFx0XHRoZWlnaHQ6IHNwYWNpbmcoMjQpO1xuXHRcdH1cblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQvL0JpZyBJY29uXG5cdC5pY29uLWZvbnQge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZyg4MCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDE2MCk7XHRcblx0XHRcdH1cblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHNwYWNpbmcoMTYpO1xuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcblx0XHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nKDQ4KTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBzcGFjaW5nKDE2KTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDUyMHB4KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZygzMik7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBzcGFjaW5nKDgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuaWNvbi1mb250LFxuXHRoMSxcblx0aDIge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdGgxIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRmb250LXNpemU6IHNwYWNpbmcoMjQpO1xuXHRcdH1cblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHR3aWR0aDogc3BhY2luZyg1NikgIWltcG9ydGFudDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogc3BhY2luZygxNikgIWltcG9ydGFudDtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAycHggIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDIwKTtcblx0XHR9XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNTIwcHgpIHtcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZygxNik7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHdpZHRoOiBzcGFjaW5nKDQ4KSAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiBzcGFjaW5nKDgpICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGgyIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRmb250LXNpemU6IHNwYWNpbmctbW9yZSgyMCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHR9XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcblx0XHRcdGZvbnQtc2l6ZTogc3BhY2luZygxNik7XG5cdFx0XHRsaW5lLWhlaWdodDogc3BhY2luZygyNCk7XG5cdFx0fVxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDUyMHB4KSB7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogc3BhY2luZy1tb3JlKDIwKTtcblx0XHR9XG5cdH1cblxuXHQvL21pZGRsZSBib3JkZXJcblx0aDE6YmVmb3JlIHtcblx0XHRib3JkZXItY29sb3I6ICR3aGl0ZTtcblx0XHRtYXJnaW46IGF1dG87XG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2luZygyNCk7XG5cdFx0Ym9yZGVyLXdpZHRoOiBzcGFjaW5nKDIpO1xuXHRcdHdpZHRoOiBzcGFjaW5nKDEyOCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiBzcGFjaW5nKDQpO1xuXHRcdFx0d2lkdGg6IHNwYWNpbmcoMTgwKTtcblx0XHR9XG5cdH1cblx0Ly9nbyBkb3duXG5cdC5nby1kb3duIGEge1xuXHRcdGJvdHRvbTogMDtcblx0XHR6LWluZGV4OiA5OTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHJpZ2h0OiA1MCU7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMzBweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHR9XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcblx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdH1cblx0XHQvL2dvLWRvd24gLyBpbWdcblx0XHRpbWcge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Ym90dG9tOiAtNjhweDtcblx0XHRcdHJpZ2h0OiAtNDNweDtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly9nby1kb3duIC8gdGV4dFxuXHRcdGRpdiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTg4cHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdG1hcmdpbi1yaWdodDogLTI4cHg7XG5cdFx0XHRmb250LXNpemU6IDA7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdH1cdFxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAwO1xuXHRcdFx0fVx0XG5cdFx0fVxuXHRcdC8vc2Nyb2xsIGJvcmRlclxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiBzcGFjaW5nKDQ4KTtcblx0XHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgJHdoaXRlO1xuXHRcdFx0cmlnaHQ6IHNwYWNpbmcoMjQpO1xuICAgIFx0aGVpZ2h0OiBzcGFjaW5nKDQwKTtcbiAgICBcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG4gICAgXHRcdGJvdHRvbTogc3BhY2luZygyNCk7XG4gICAgXHRcdGhlaWdodDogc3BhY2luZygxNik7XG4gICAgXHRcdHJpZ2h0OiAwO1xuICAgIFx0fVxuXHRcdH1cblx0XHQvL3Njcm9sbCBpY29uXG5cdFx0JjphZnRlciB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206IDkwcHg7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRmb250LXNpemU6IHNwYWNpbmcoNDApO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC00NHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLThweDtcblx0XHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nKDQ4KTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG5cdFx0XHRcdGJvdHRvbTogNDJweDtcblx0XHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nKDMyKTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0xNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLy9IZXJvIEJhbm5lciAtIFNlY3Rpb24gMyg3MCB5ZWFycyBhdSBzZXJ2aWNlIGRlcyBjaXRveWVucyBldCBk4oCZdW5lIFVuaW9uIGRlIGRyb2l0KVxuLy8gLnBhZ2Utc2VjdGlvbi0zIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuYWxpZ24tbWlkZGxlIHtcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuLy8gXHRcdHdpZHRoOiA5MCU7XG5cbi8vIFx0fVxuLy8gfVxuLy8gLnBhZ2Utc2VjdGlvbi0zIC5mdWxsLXBhZ2UtYmFubmVyOm5vdCgubG9hZGVyLWJsb2NrKSAuaWNvbi1mb250OmJlZm9yZSB7XG4vLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbi8vIFx0XHRmb250LXNpemU6IDhyZW07XG4vLyBcdH1cblxuLy8gXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuLy8gXHRcdGZvbnQtc2l6ZTogM3JlbTtcbi8vIFx0fVxuLy8gfVxuXG4vLyAucGFnZS1zZWN0aW9uLTMgLmZ1bGwtcGFnZS1iYW5uZXI6bm90KC5sb2FkZXItYmxvY2spIGgxIHtcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuLy8gXHRcdGZvbnQtc2l6ZTogMi41cmVtO1xuLy8gXHR9XG5cbi8vIFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjcwcHgpIHtcbi8vIFx0XHRmb250LXNpemU6IDEuMjVyZW07XG4vLyBcdH1cbi8vIH1cblxuXG4kYmFja2dyb3VuZC1pbWc6IChcblx0cGFnZS1ob21lOiBcdFx0Jy4uLy4uL2Fzc2V0cy9pbWcvaG9tYXBhZ2UtaW1hZ2UtMS5wbmcnLFxuICAgIHBhZ2Utc2VjdGlvbi0xOiAnLi4vLi4vYXNzZXRzL2ltZy9zZWN0aW9uLTEtdG9wLWJhbm5lci5wbmcnLFxuICAgIHBhZ2Utc2VjdGlvbi0yOiAnLi4vLi4vYXNzZXRzL2ltZy9zZWN0aW9uLTItdG9wLWJhbm5lci5wbmcnLFxuICAgIHBhZ2Utc2VjdGlvbi0zOiAnLi4vLi4vYXNzZXRzL2ltZy9zZWN0aW9uLTMtdG9wLWJhbm5lci5wbmcnLFxuICAgIHBhZ2Utc2VjdGlvbi00OiAnLi4vLi4vYXNzZXRzL2ltZy9zZWN0aW9uLTQtdG9wLWJhbm5lci5wbmcnLFxuICAgIHBhZ2Utc2VjdGlvbi01OiAnLi4vLi4vYXNzZXRzL2ltZy9zZWN0aW9uLTUtdG9wLWJhbm5lci5wbmcnLFxuICAgIHBhZ2Utc2VjdGlvbi02OiAnLi4vLi4vYXNzZXRzL2ltZy9zZWN0aW9uLTYtdG9wLWJhbm5lci5wbmcnLFxuICAgIHBhZ2UtNDA0LWVycm9yOiAnLi4vLi4vYXNzZXRzL2ltZy9ob21hcGFnZS1pbWFnZS0xLnBuZydcbik7XG5cbkBlYWNoICRuYW1lLCAkYmctaW1nIGluICRiYWNrZ3JvdW5kLWltZyB7XG4gIC4jeyRuYW1lfSB7XG4gICAgLmhlcm8tYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGJnLWltZyk7XG4gICAgfVxuICB9XG59XG5cblxuIiwiLy9Mb2FkZXJcclxuLmxvYWRlci1ibG9jayB7XHJcblx0cGFkZGluZy1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICBcdGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG5cdHRyYW5zaXRpb246IGFsbCAwLjVzIDBzIGVhc2U7XHJcblx0XHJcblx0Ji5sb2FkaW5nLWRvbmUge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR6LWluZGV4OiA5OTk7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0LmFsaWduLW1pZGRsZSB7XHJcblx0XHR0b3A6IDQ1JTtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcclxuXHRcdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGRpdiB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdHdpZHRoOiAxMDRweDtcclxuXHRcdFx0aGVpZ2h0OiAxMDRweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdHdpZHRoOiAxNDRweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE0NHB4O1x0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGRpdjpiZWZvcmUge1xyXG5cdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubG9hZGVyLWxvZ28ge1xyXG5cdFx0Ly9kaXNwbGF5OiBub25lO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cdC5sb2FkZXItbG9nbyBpbWcge1xyXG5cdFx0d2lkdGg6IHNwYWNpbmctbW9yZSgxMDQpO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHR3aWR0aDogc3BhY2luZy1tb3JlKDE0NCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaWNvbi1mb250IHtcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xyXG5cdFx0Zm9udC1zaXplOiBzcGFjaW5nLW1vcmUoMTA0KTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0Zm9udC1zaXplOiBzcGFjaW5nLW1vcmUoMTQ0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5pY29uLWZvbnQ6YmVmb3JlIHtcclxuXHRcdGZvbnQtc2l6ZTogMTA1cHggIWltcG9ydGFudDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNDJweCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmxvYWRlci1sb2dvLFxyXG5cdC5pY29uLWJpZy1hdC1hLWdsYW5jZSxcclxuXHQuaWNvbi1iaWctc2V2ZW50eS15ZWFycyxcclxuXHQuaWNvbi1iaWctZXhjaGFuZ2UsXHJcblx0Lmljb24tYmlnLWFkbWluLFxyXG5cdC5pY29uLWJpZy1jb25uZWN0ZWQsXHJcblx0Lmljb24tYmlnLWxhdyxcclxuXHQuaWNvbi1iaWctdGVsZXNjb3BlIHtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cdC5sb2FkZXItbG9nbyB7XHJcblx0XHRhbmltYXRpb246IGxvYWRlci1sb2dvLW1vdmUgM3MgaW5maW5pdGU7XHJcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwLWVuZDtcclxuXHR9XHJcblx0Ly9sb2dvIGtleWZyYW1lc1xyXG5cdEBrZXlmcmFtZXMgbG9hZGVyLWxvZ28tbW92ZSB7XHJcblx0ICAwJSAgIHtoZWlnaHQ6IGF1dG87fVxyXG5cdCAgMjUlICB7aGVpZ2h0OiAwO31cclxuXHQgIDM4JSAge2hlaWdodDogMDt9XHJcblx0ICA1MCUgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgNjglICB7aGVpZ2h0OiAwO31cclxuXHQgIDgwJSAge2hlaWdodDogMDt9XHJcblx0ICAxMDAlIHtoZWlnaHQ6IDA7fVxyXG5cdH1cclxuXHQuaWNvbi1iaWctYXQtYS1nbGFuY2Uge1xyXG5cdFx0YW5pbWF0aW9uOiBhdC1hLWdsYW5jZS1tb3ZlIDNzIGluZmluaXRlO1xyXG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogc3RlcC1lbmQ7XHRcclxuXHR9XHJcblx0Ly9hdC1hLWdsYW5jZSBrZXlmcmFtZXNcclxuXHRAa2V5ZnJhbWVzIGF0LWEtZ2xhbmNlLW1vdmUge1xyXG5cdCAgMCUgICB7aGVpZ2h0OiAwO31cclxuXHQgIDI1JSAge2hlaWdodDogYXV0bzt9XHJcblx0ICAzOCUgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgNTAlICB7aGVpZ2h0OiAwO31cclxuXHQgIDY4JSAge2hlaWdodDogMDt9XHJcblx0ICA4MCUgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgMTAwJSB7aGVpZ2h0OiAwO31cclxuXHR9XHJcblx0Lmljb24tYmlnLWV4Y2hhbmdlIHtcclxuXHRcdGFuaW1hdGlvbjogZXhjaGFuZ2UtbW92ZSAzcyBpbmZpbml0ZTtcclxuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXAtZW5kO1x0XHJcblx0fVxyXG5cdC8vZXhjaGFuZ2Uga2V5ZnJhbWVzXHJcblx0QGtleWZyYW1lcyBleGNoYW5nZS1tb3ZlIHtcclxuXHQgIDAlICAge2hlaWdodDogMDt9XHJcblx0ICAyNSUgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgMzglICB7aGVpZ2h0OiBhdXRvO31cclxuXHQgIDUwJSAge2hlaWdodDogMDt9XHJcblx0ICA2OCUgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgODAlICB7aGVpZ2h0OiAwO31cclxuXHQgIDEwMCUge2hlaWdodDogMDt9XHJcblx0fVxyXG5cdC5pY29uLWJpZy1hZG1pbiB7XHJcblx0XHRhbmltYXRpb246IGFkbWluLW1vdmUgM3MgaW5maW5pdGU7XHJcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwLWVuZDtcdFxyXG5cdH1cclxuXHQvL2FkbWluIGtleWZyYW1lc1xyXG5cdEBrZXlmcmFtZXMgYWRtaW4tbW92ZSB7XHJcblx0ICAwJSAgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgMjUlICB7aGVpZ2h0OiAwO31cclxuXHQgIDM4JSAge2hlaWdodDogMDt9XHJcblx0ICA1MCUgIHtoZWlnaHQ6IGF1dG87fVxyXG5cdCAgNjglICB7aGVpZ2h0OiAwO31cclxuXHQgIDgwJSAge2hlaWdodDogMDt9XHJcblx0ICAxMDAlIHtoZWlnaHQ6IDA7fVxyXG5cdH1cclxuXHQuaWNvbi1iaWctY29ubmVjdGVkIHtcclxuXHRcdGFuaW1hdGlvbjogY29ubmVjdGVkLW1vdmUgM3MgaW5maW5pdGU7XHJcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwLWVuZDtcdFxyXG5cdH1cclxuXHQvL2Nvbm5lY3RlZCBrZXlmcmFtZXNcclxuXHRAa2V5ZnJhbWVzIGNvbm5lY3RlZC1tb3ZlIHtcclxuXHQgIDAlICAge2hlaWdodDogMDt9XHJcblx0ICAyNSUgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgMzglICB7aGVpZ2h0OiAwO31cclxuXHQgIDUwJSAge2hlaWdodDogMDt9XHJcblx0ICA2OCUgIHtoZWlnaHQ6IGF1dG87fVxyXG5cdCAgODAlICB7aGVpZ2h0OiAwO31cclxuXHQgIDEwMCUge2hlaWdodDogMDt9XHJcblx0fVxyXG5cdC5pY29uLWJpZy1sYXcge1xyXG5cdFx0YW5pbWF0aW9uOiBsYXctbW92ZSAzcyBpbmZpbml0ZTtcclxuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXAtZW5kO1x0XHJcblx0fVxyXG5cdC8vbGF3IGtleWZyYW1lc1xyXG5cdEBrZXlmcmFtZXMgbGF3LW1vdmUge1xyXG5cdCAgMCUgICB7aGVpZ2h0OiAwO31cclxuXHQgIDI1JSAge2hlaWdodDogMDt9XHJcblx0ICAzOCUgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgNTAlICB7aGVpZ2h0OiAwO31cclxuXHQgIDY4JSAge2hlaWdodDogMDt9XHJcblx0ICA4MCUgIHtoZWlnaHQ6IGF1dG87fVxyXG5cdCAgMTAwJSB7aGVpZ2h0OiAwO31cclxuXHR9XHJcblx0Lmljb24tYmlnLXRlbGVzY29wZSB7XHJcblx0XHRhbmltYXRpb246IHRlbGVzY29wZS1tb3ZlIDNzIGluZmluaXRlO1xyXG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogc3RlcC1lbmQ7XHRcclxuXHR9XHJcblx0Ly90ZWxlc2NvcGUga2V5ZnJhbWVzXHJcblx0QGtleWZyYW1lcyB0ZWxlc2NvcGUtbW92ZSB7XHJcblx0ICAwJSAgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgMjUlICB7aGVpZ2h0OiAwO31cclxuXHQgIDM4JSAge2hlaWdodDogMDt9XHJcblx0ICA1MCUgIHtoZWlnaHQ6IDA7fVxyXG5cdCAgNjglICB7aGVpZ2h0OiAwO31cclxuXHQgIDgwJSAge2hlaWdodDogMDt9XHJcblx0ICAxMDAlIHtoZWlnaHQ6IGF1dG87fVxyXG5cdH1cclxufVxyXG5cclxuLy9Lb3MgY3NzXHJcbi5uby1qcyAjbG9hZGVyIHsgXHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG4uanMgI2xvYWRlciB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDEwMHB4O1xyXG5cdHRvcDogMDtcclxufVxyXG4uc2UtcHJlLWNvbiB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGxlZnQ6IDBweDtcclxuXHR0b3A6IDBweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ei1pbmRleDogOTk5OTtcclxufVxyXG5cclxuXHJcbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcblx0LyogSUUxMCsgc3R5bGVzICovXHJcblx0LnNlLXByZS1jb24ge1xyXG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdH1cclxufSIsIi8vT3JkaXQgLSBTbGlkZXIgRm9yIHRleHRcclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ub3JiaXQge1xyXG5cdHBhZGRpbmctdG9wOiBzcGFjaW5nKDQpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG5cclxuXHQmLm9yYml0LWJvcmRlci10b3Age1xyXG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIGdyZXkoMik7XHJcblx0fVxyXG5cclxuXHQmLm9yYml0LWJvcmRlci1ib3R0b20ge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyZXkoMik7XHJcblx0fVxyXG5cdHRyYW5zaXRpb246IGFsbCAwLjVzIDBzIGVhc2U7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHQvL1ByZXZpb3VzLCBOZXh0ICYgY29udGVudCh0ZXh0KVxyXG5cdHVsLm9yYml0LWNvbnRhaW5lciB7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHRcdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1x0XHRcclxuXHRcdC8vY29udGVudCh0ZXh0KVxyXG5cdFx0bGkub3JiaXQtc2xpZGUge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogc3BhY2luZygxNik7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdFx0Ji5pcy1hY3RpdmUge31cclxuXHRcdH1cclxuXHR9XHJcblx0Ly9PcmJpdCBidWxsZXRzXHJcblx0bmF2Lm9yYml0LWJ1bGxldHMge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNpbmcoNCk7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gOTNweCk7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0fVxyXG5cdFx0Ym90dG9tOiBzcGFjaW5nKDIwKTtcclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcclxuXHRcdFx0d2lkdGg6IHNwYWNpbmctbW9yZSgyMCk7XHJcblx0XHRcdGhlaWdodDogc3BhY2luZy1tb3JlKDIwKTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiBzcGFjaW5nKDgpO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0d2lkdGg6IHNwYWNpbmcoMjApO1xyXG5cdFx0XHRcdGhlaWdodDogc3BhY2luZygyMCk7XHJcblx0XHRcdFx0Jjpmb2N1cyB7XHJcblx0XHRcdFx0XHR3aWR0aDogMjJweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMjJweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji5pcy1hY3RpdmU6Zm9jdXMge1xyXG5cdFx0XHRcdFx0d2lkdGg6IHNwYWNpbmcoMzIpO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiBzcGFjaW5nKDMyKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblx0XHRcdCY6Zm9jdXMsXHJcblx0XHRcdCYuaXMtYWN0aXZlOmZvY3VzLXZpc2libGUge1xyXG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRcdFx0Ym9yZGVyOiA0cHggc29saWQgJGJsYWNrO1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdFx0d2lkdGg6IHNwYWNpbmctbW9yZSgyOCk7XHJcblx0XHRcdFx0aGVpZ2h0OiBzcGFjaW5nLW1vcmUoMjgpO1xyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHsgIFxyXG5cdFx0XHRcdFx0LyogSUUxMCsgc3BlY2lmaWMgc3R5bGVzIGdvIGhlcmUgKi9cclxuXHRcdFx0XHRcdHRvcDogc3BhY2luZyg0KTtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ly9QcmV2aW91cyAmIE5leHRcclxuXHRidXR0b24ub3JiaXQtcHJldmlvdXMsXHJcblx0YnV0dG9uLm9yYml0LW5leHQsXHJcblx0YnV0dG9uLm9yYml0LXBhdXNlLFxyXG5cdGJ1dHRvbi5vcmJpdC1wbGF5IHtcclxuXHRcdG1hcmdpbjogMDsgXHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCBibHVlO1xyXG5cdFx0dG9wOiBzcGFjaW5nKDI0KTtcclxuXHRcdGZvbnQtc2l6ZTogMDtcclxuXHRcdHBhZGRpbmc6IHNwYWNpbmcoOCkgc3BhY2luZyg0KTtcclxuXHRcdGJvcmRlci1jb2xvcjogJHdoaXRlO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHR9XHJcblx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdHRvcDogMjZweDtcclxuXHRcdFx0cGFkZGluZzogN3B4IHNwYWNpbmcoNCk7XHJcblx0XHR9XHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdH1cclxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcclxuXHRcdFx0Ym94LXNoYWRvdzogMCA1cHggNnB4IC01cHggcmdiYSgkYmxhY2ssIDEpO1xyXG5cdFx0fVxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRmb250LXNpemU6IHNwYWNpbmcoMzIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRidXR0b24ub3JiaXQtcGF1c2UsXHJcblx0YnV0dG9uLm9yYml0LXBsYXkge1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0JjphY3RpdmUge1xyXG5cdFx0XHR0b3A6IHNwYWNpbmcoMik7XHRcclxuXHRcdH1cclxuXHJcblx0fVxyXG59XHJcbi8vb3JiaXQgd2l0aCBiYWNrZ3JvdW5kIGNvbG9yXHJcbi5yZWdpb24tYmFja2dyb3VuZCAub3JiaXQge1xyXG5cdG5hdi5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0b3BhY2l0eTogMC42O1xyXG5cdFx0fVxyXG5cdFx0Ym9yZGVyOiA0cHggc29saWQgJHdoaXRlICFpbXBvcnRhbnQ7XHJcblx0XHQmOm5vdCguaXMtYWN0aXZlKSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcblx0Lm9yYml0LXByZXZpb3VzLFxyXG5cdC5vcmJpdC1uZXh0LFxyXG5cdC5vcmJpdC1wbGF5LFxyXG5cdC5vcmJpdC1wYXVzZSB7XHJcblx0XHQvL2NvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAwKSAhaW1wb3J0YW50O1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGNvbG9yOiByZ2JhKCR3aGl0ZSwgMSkgIWltcG9ydGFudDtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgkd2hpdGUsIDAuNykgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvL2FjY29yZGlvblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmFjY29yZGlvbiB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ly9hY2NvcmRpb24gaXRlbVxyXG5cdC5hY2NvcmRpb24taXRlbSBhIHtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRwYWRkaW5nLXRvcDogc3BhY2luZygzMik7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2luZygzMik7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuXHR9XHJcblx0LmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0fVxyXG5cdGxpLmFjY29yZGlvbi1pdGVtIHtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcclxuXHR9XHJcblx0bGkuYWNjb3JkaW9uLWl0ZW0gPiBhIHtcclxuXHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICdcXGU5MDYnO1xyXG5cdFx0XHRmb250LWZhbWlseTogJ2N2cmlhLWljb25zJyAhaW1wb3J0YW50O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlO1xyXG5cdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRcdG1hcmdpbi10b3A6IC0xNHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRsaS5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgPiBhIHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogJ1xcZTkwNic7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAnY3ZyaWEtaWNvbnMnICFpbXBvcnRhbnQ7XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vYWNjb3JkaW9uIGNvbnRlbnRcclxuXHQuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjaW5nKDMyKTtcclxuXHR9XHJcbn0iLCIvL3Rvb2x0aXBcclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4udG9vbHRpcCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAycmVtO1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIGdyZXkoMSk7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGdyZXkoMSkgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgd2lkdGg6IDEuNDVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDEuNDVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBib3R0b206IC0wLjZyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMC4xcmVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDIuOHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG59IiwiLy9JbmZvZ3JhcGhpY3NcclxuLmluZm9ncmFwaC1ncm91cCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdG1hcmdpbi10b3A6IHNwYWNpbmcoNTYpO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2luZyg1Nik7XHJcblx0fVxyXG5cclxuXHQuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLXJvdy1pbm5lciAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyIHtcclxuXHRcdFxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBDaGFuZ2VzIGhvcmlzb250YWwgYWxpZ21lbnQgZnJvbSBjZW50ZXIgdG8gdG9wXHJcblx0XHQmLmluZm9ncmFwaC1hbGlnbi10b3Age1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogc3RhcnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQvL3RhYmxlIGluZm9ncmFwaGljXHJcblx0LmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaGljLXJvdy10YWJsZSB7XHJcblx0XHRcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMXJlbSAxLjVyZW07XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHBhZGRpbmc6IDAuOHJlbSAwLjhyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LmluZm9ncmFwaC1jb250ZW50IHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LmluZm9ncmFwaC1udW1iZXIge1xyXG5cdFx0XHRmb250LXNpemU6IDMuMTI1cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRcdC8vIGZvbnQtZmFtaWx5OiAkb3BlbnNhbnMtZXh0cmEtYm9sZCAhaW1wb3J0YW50O1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIuMzI1cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vaWNvbiAmIG51bWJlclxyXG5cdC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyLmluZm9ncmFwaC1pY29uLW51bWJlciB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHNwYWNpbmcoMTYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly/OmWNvblxyXG5cdC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uIHtcclxuXHJcblx0XHQmLmluZm9ncmFwaC1pY29uLWJvbGQ6YmVmb3JlIHtcclxuXHRcdFx0LXdlYmtpdC10ZXh0LXN0cm9rZTogMC4wNHJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRmb250LWZhbWlseTogJ2N2cmlhLWljb25zJztcclxuXHRcdGZvbnQtc2l6ZTogc3BhY2luZyg4MCk7XHJcblx0XHQvL3dpZHRoOiBzcGFjaW5nKDgwKTtcclxuXHRcdC8vaGVpZ2h0OiBzcGFjaW5nKDgwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdFx0Ly9kaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0Ly92ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2luZygyNCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogc3BhY2luZygzMik7XHRcclxuXHRcdH1cclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRoZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vQ29udGVudFxyXG5cdC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtbnVtYmVyIHtcclxuXHRcdGZvbnQtc2l6ZTogc3BhY2luZyg4MCk7XHJcblx0XHRsaW5lLWhlaWdodDogNzZweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRmb250LXNpemU6IHNwYWNpbmcoNDgpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogc3BhY2luZyg1Nik7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nKDI0KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9Db250ZW50XHJcblx0LmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1jb250ZW50IHtcclxuXHJcblx0XHRmb250LXNpemU6IDEuMnJlbTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdC8vdG9wOiA2cHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHQvL3BhZGRpbmctdG9wOiAzcHg7XHJcblx0XHRcdC8vcGFkZGluZy1ib3R0b206IHNwYWNpbmcoMjQpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy9pbmZvZ3JhcGhpY3MgaG9yaXpvbnRhbFxyXG4uaW5mb2dyYXBoLWdyb3VwLWhvciB7XHJcblx0LmluZm9ncmFwaC1yb3cge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2luZygzMik7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2luZygzMik7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGNsZWFyOiBib3RoO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaW5mb2dyYXBoLXJvdyAuaW5mb2dyYXBoLXJvdy1pbm5lciB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHQvL2Rpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdC8vdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdH1cclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyAgXHJcbiAgIFx0XHQvKiBJRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZSAqL1xyXG4gICBcdFx0LmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1jb250ZW50IHtcclxuICAgXHRcdFx0d2lkdGg6IDEwMCU7XHJcbiAgIFx0XHR9XHJcblx0fVxyXG59XHJcbi8vaW5mb2dyYXBoaWNzIHZlcnRpY2FsIDIgJiAzIGNvbHVtbnNcclxuLmluZm9ncmFwaC1ncm91cDpub3QoLmluZm9ncmFwaC1ncm91cC1ob3IpIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdG1hcmdpbi1ib3R0b206IHNwYWNpbmcoMzIpO1xyXG5cdC5pbmZvZ3JhcGgtcm93IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHNwYWNpbmcoMjQpO1xyXG5cdH1cclxufVxyXG4vL2luZm9ncmFwaGljcyB2ZXJ0aWNhbCAzIGNvbHVtbnNcclxuLmluZm9ncmFwaC1ncm91cC12ZXItM2NvbCB7XHJcblx0LmluZm9ncmFwaC1yb3cge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4rMSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogc3BhY2luZygxNik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDJuKzApIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogc3BhY2luZygxNik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHdpZHRoOiAzMy4zJTtcclxuXHRcdFx0JjpudGgtY2hpbGQoM24rMikge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogc3BhY2luZyg4KTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nKDgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLWNoaWxkKDNuKzEpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nKDE2KTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOm50aC1jaGlsZCgzbiswKSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtbnVtYmVyIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pbmZvZ3JhcGgtcm93IC5pbmZvZ3JhcGgtcm93LWlubmVyIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzcmVtO1xyXG5cdFx0XHQvL3dpZHRoOiAzcmVtO1xyXG5cdFx0XHQvL2hlaWdodDogM3JlbTtcclxuXHJcblx0XHR9XHJcblxyXG5cdFx0LmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lciAuaW5mb2dyYXBoLWljb24ge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vaW5mb2dyYXBoaWNzIHZlcnRpY2FsIDIgY29sdW1uc1xyXG4uaW5mb2dyYXBoLWdyb3VwLXZlci0yY29sIHtcclxuXHJcblx0LmluZm9ncmFwaC1yb3cge1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHRcclxuXHRcdFx0JjpudGgtY2hpbGQoMm4rMSkge1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bnRoLWNoaWxkKDJuKzApIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5pbmZvZ3JhcGgtcm93LW5vLWJvcmRlciB7XHJcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vaW5mb2dyYXBoIC0gd2l0aCBiYWNrZ3JvdW5kLWNvbG9yXHJcbi5yZWdpb24tYmFja2dyb3VuZCB7XHJcblx0XHJcblx0Ly9JbmZvZ3JhcGhpY3NcclxuXHQuaW5mb2dyYXBoLWdyb3VwLWhvciAuaW5mb2dyYXBoLXJvdyB7XHJcblx0XHRib3JkZXItYm90dG9tOiAwLjEyNXJlbSBkb3R0ZWQgcmdiYSgkd2hpdGUsIDAuNCk7XHJcblx0fVxyXG5cclxuXHQvL86ZY29uXHJcblx0LmluZm9ncmFwaC1yb3cgLmluZm9ncmFwaC1yb3ctaW5uZXIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lciAuaW5mb2dyYXBoLWljb246YmVmb3JlIHtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0fVxyXG5cclxuXHQvL2luZm9ncmFwaGljcyB2ZXJ0aWNhbCAyICYgMyBjb2x1bW5zXHJcblx0LmluZm9ncmFwaC1ncm91cDpub3QoLmluZm9ncmFwaC1ncm91cC1ob3IpIHtcclxuXHRcdGJvcmRlci1ib3R0b206IDAuMTI1cmVtIGRvdHRlZCByZ2JhKCR3aGl0ZSwgMC40KTtcclxuXHR9XHJcblxyXG59XHJcblxyXG4vL2luZm9ncmFwaCAvIGljb24gJiBudW1iZXIgc3R5bGUgb25seSBmb3IgdmVydGljYWxcclxuLmluZm9ncmFwaC1yb3ctaW5uZXItdmVydGljYWwge1xyXG5cclxuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG5cdFxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIge1xyXG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHJcblx0XHQuaW5mb2dyYXBoLWljb24ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cdFx0XHRoZWlnaHQ6IDVyZW0gIWltcG9ydGFudDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDMuMTI1cmVtICFpbXBvcnRhbnQ7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaW5mb2dyYXBoLWdyb3VwLXZlci0yY29sIC5pbmZvZ3JhcGgtcm93LWlubmVyLXZlcnRpY2FsIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIgLmluZm9ncmFwaC1pY29uIHtcclxuXHRoZWlnaHQ6IDVyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi5yZXZlcnNlLWluZm8ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuXHJcblxyXG4vL2luZm9ncmFwaGljcyAtIGRlZmVyZW50L2NoYW5nZWQgY29sb3Igb2YgaWNvbnNcclxuLmluZm9ncmFwaGljLTEtMyAuaW5mb2dyYXBoLWljb246YmVmb3JlIHtcclxuXHRjb2xvcjogIzg1MUExNSAhaW1wb3J0YW50O1xyXG59XHJcbi5pbmZvZ3JhcGhpYy0xLTQgLmluZm9ncmFwaC1pY29uOmJlZm9yZSB7XHJcblx0Y29sb3I6ICM4NTFBMTUgIWltcG9ydGFudDtcclxufVxyXG4uaW5mb2dyYXBoaWMtMS01IC5pbmZvZ3JhcGgtaWNvbjpiZWZvcmUge1xyXG5cdGNvbG9yOiAjMzM1MjcwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vaW5mb2dyYXBoaWNzIC0gcmV2ZXJzZWQgbGFuZ3MgLSBIVVxyXG4uaW5mb2dyYXBoaWMtMSAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyLmluZm9ncmFwaGljLTEtMTAge1xyXG5cdCY6bGFuZyhodSkge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBcdH1cclxufVxyXG5cclxuLmluZm9ncmFwaGljLTEgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lci5pbmZvZ3JhcGhpYy0xLTExIHtcclxuXHQmOmxhbmcoaHUpIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0fVxyXG59XHJcbi5pbmZvZ3JhcGhpYy0xIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIuaW5mb2dyYXBoaWMtMS0xMSB7XHJcblx0JjpsYW5nKGV0KSB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdH1cclxufVxyXG5cclxuLmluZm9ncmFwaGljLTIgLmluZm9ncmFwaC1pY29uLW51bWJlci1pbm5lci5pbmZvZ3JhcGhpYy0yLTYge1xyXG5cdC5yZXZlcnNlLWluZm8ge1xyXG5cdFx0JjpsYW5nKGh1KSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5pbmZvZ3JhcGhpYy0yIC5pbmZvZ3JhcGgtaWNvbi1udW1iZXItaW5uZXIuaW5mb2dyYXBoaWMtMi03IHtcclxuXHQucmV2ZXJzZS1pbmZvIHtcclxuXHRcdCY6bGFuZyhodSkge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uaW5mb2dyYXBoaWMtMiAuaW5mb2dyYXBoLWljb24tbnVtYmVyLWlubmVyLmluZm9ncmFwaGljLTItOCB7XHJcblx0Ly9MYW5nIEhVXHJcblx0JjpsYW5nKGh1KSB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vaW5mb2dyYXBoaWNzIC0gZW1wdHkgc3BhY2UgaWNvbnNcclxuLmluZm9ncmFwaC1pY29uLW9wYWNpdHkge1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vaW5mb2dyYXBoaWMgMTAgLSB0Ym9keVxyXG5cclxuLmluZm9ncmFwaGljLTEwLFxyXG4uaW5mb2dyYXBoaWMtMTQge1xyXG5cdHRib2R5IHtcclxuXHRcdGJvcmRlcjogMHB4O1xyXG5cdFx0dHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0VFRTlFQjtcclxuXHRcdH1cclxuXHJcblx0XHQuY2VudGVyIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8vdGltZWxpbmVcclxuLnRpbWVsaW5lLXJlZ2lvbiB7fVxyXG4udGltZWxpbmUtYmxvY2sge1xyXG5cdC50aW1lbGluZS1pbWFnZSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiBzcGFjaW5nKDE2KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LnRpbWVsaW5lLWltYWdlIGltZyB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyLjM4M3JlbTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNC4wODNyZW07XHJcblx0XHR9XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cdCYudGltZWxpbmUtYmxvY2stMTIgLnRpbWVsaW5lLWltYWdlIGltZyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1heC13aWR0aDogNDcwcHg7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6bGFzdC1jaGlsZCAudGltZWxpbmUtaW1hZ2UgaW1nIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHNwYWNpbmcoNDgpO1xyXG5cdH1cclxuXHRwYWRkaW5nLXRvcDogc3BhY2luZyg0OCk7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0cGFkZGluZy10b3A6IHNwYWNpbmcoNDgpO1xyXG5cdH1cclxuXHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1x0XHJcblx0fVxyXG5cdGNsZWFyOiBib3RoO1xyXG5cdC8vYWxsIHRleHRcclxuXHQudGltZWxpbmUtdGV4dCBoMyB7XHJcblx0XHRmb250LXNpemU6IHNwYWNpbmcoMTYpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cdC50aW1lbGluZS10ZXh0IGg0IHtcclxuXHRcdGZvbnQtc2l6ZTogc3BhY2luZy1tb3JlKDI4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0fVxyXG5cdC8vYWxsIGltYWdlXHJcblx0LnRpbWVsaW5lLWltYWdlIGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuLnRpbWVsaW5lLWJsb2NrOm50aC1jaGlsZChvZGQpIHtcclxuXHQvL2FsbCB0ZXh0XHJcblx0LnRpbWVsaW5lLXRleHQge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogc3BhY2luZygyNCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vYWxsIGltYWdlXHJcblx0LnRpbWVsaW5lLWltYWdlIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4udGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHQvL2FsbCB0ZXh0XHJcblx0LnRpbWVsaW5lLXRleHQge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiBzcGFjaW5nKDI0KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly9hbGwgaW1hZ2VcclxuXHQudGltZWxpbmUtaW1hZ2Uge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLy9HbyB0byB0b3AgYnV0dG9uXHJcbi50b3AtbGluayB7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHotaW5kZXg6IDk5OTtcclxuXHRib3R0b206IC00MXB4O1xyXG5cdHJpZ2h0OiAtMzJweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHJpZ2h0OiAtMTJweDtcdFxyXG5cdH1cclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW46IDAgM2VtIDNlbSAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDgwcHg7XHJcblx0cGFkZGluZzogNHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cdHdpZHRoOiA3MnB4O1xyXG5cdC8vYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdC8vc2hvdyAtIGdvIHRvIHRvcCBidXR0b25cclxuXHQmLnNob3cge1xyXG5cdCAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHQgIG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cdC8vaGlkZSAtIGdvIHRvIHRvcCBidXR0b25cclxuXHQmLmhpZGUge1xyXG5cdCAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdCAgb3BhY2l0eTogMDtcclxuXHR9XHJcblx0Ly9pY29uXHJcblx0LnRvcC1saW5rLWljb24ge1xyXG5cdFx0bGluZS1oZWlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGJvcmRlci1yYWRpdXM6IDgwcHg7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgJHdoaXRlO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0fVxyXG5cdC50b3AtbGluay1pY29uOmJlZm9yZSB7XHJcblx0XHRtYXJnaW46IGF1dG87IFxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogNDVweDtcclxuXHRcdGhlaWdodDogNjBweDtcclxuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAzMnB4O1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcbn0iLCIuc2hhcmUtYmxvY2sge1xuXHRjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgbWFyZ2luLXRvcDogc3BhY2luZygxNik7XG4gICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmcoOCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZygyNCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nKDI0KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nKDMyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmcoNDgpO1xuICAgIH1cbiAgICB1bC5tZW51IGxpIGEuaWNvbiB7XG4gICAgXHRjb2xvcjogJHdoaXRlO1xuICAgIFx0cGFkZGluZzogc3BhY2luZyg0KTtcbiAgICBcdGZvbnQtc2l6ZTogc3BhY2luZygyNCk7XG4gICAgXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NzBweCkge1xuICAgIFx0XHRmb250LXNpemU6IHNwYWNpbmcoMTYpO1xuICAgIFx0fVxuICAgIH1cbiAgICAuc2hhcmUtY29udGVudCB7XG4gICAgXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgXHRcdGZvbnQtc2l6ZTogMDtcbiAgICBcdH1cbiAgICBcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG4gICAgXHRcdGZvbnQtc2l6ZTogMDtcbiAgICBcdH1cbiAgICBcdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFx0JjpudGgtY2hpbGQoMikge1xuICAgIFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNpbmcoOCk7XG4gICAgXHR9XG4gICAgXHQmOm50aC1jaGlsZCgzKSB7XG4gICAgXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XG4gICAgXHRcdFx0cGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgXHRcdH1cbiAgICBcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIFx0fVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBGUlxuICAgICAgICAmOmxhbmcoZnIpIHtcbiAgICAgICAgICAgdG9wOiAxMTVweDsgXG4gICAgICAgIH1cbiAgICAgICAgLy9jc3Mgb25seSBmb3IgLSBMYW5nIFBUXG4gICAgICAgICY6bGFuZyhwdCkge1xuICAgICAgICAgICB0b3A6IDEyMHB4OyBcbiAgICAgICAgfVxuICAgICAgICAvL2NzcyBvbmx5IGZvciAtIExhbmcgRVNcbiAgICAgICAgJjpsYW5nKGVzKSB7XG4gICAgICAgICAgIHRvcDogMTU1cHg7IFxuICAgICAgICB9XG4gICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBCR1xuICAgICAgICAmOmxhbmcoYmcpIHtcbiAgICAgICAgICAgdG9wOiAxMzZweDsgXG4gICAgICAgIH1cbiAgICAgICAgLy9jc3Mgb25seSBmb3IgLSBMYW5nIENTXG4gICAgICAgICY6bGFuZyhjcykge1xuICAgICAgICAgICB0b3A6IDEzNnB4OyBcbiAgICAgICAgfVxuICAgICAgICAgLy9jc3Mgb25seSBmb3IgLSBMYW5nIENTXG4gICAgICAgICAmOmxhbmcoZGEpIHtcbiAgICAgICAgICAgIHRvcDogMTM2cHg7IFxuICAgICAgICAgfVxuICAgICAgICAgLy9jc3Mgb25seSBmb3IgLSBMYW5nIEVMXG4gICAgICAgICAmOmxhbmcoZWwpIHtcbiAgICAgICAgICAgIHRvcDogOTZweDtcbiAgICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBIVVxuICAgICAgICAgJjpsYW5nKGh1KSB7XG4gICAgICAgICAgICB0b3A6IDEzNnB4OyBcbiAgICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBMVFxuICAgICAgICAgJjpsYW5nKGx0KSB7XG4gICAgICAgICAgICB0b3A6IDEwNnB4OyBcbiAgICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyByb1xuICAgICAgICAgJjpsYW5nKHJvKSB7XG4gICAgICAgICAgICB0b3A6IDEwMHB4OyBcbiAgICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBERVxuICAgICAgICAmOmxhbmcoZGUpIHtcbiAgICAgICAgICAgdG9wOiAxMTVweDsgXG4gICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBNVFxuICAgICAgICAgJjpsYW5nKG10KSB7XG4gICAgICAgICAgICB0b3A6IDEwNXB4O1xuICAgICAgICAgfSBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgLy9jc3Mgb25seSBmb3IgLSBMYW5nIEZSXG4gICAgICAgICY6bGFuZyhmcikge1xuICAgICAgICAgICB0b3A6IDE0NXB4OyBcbiAgICAgICAgfVxuICAgICAgICAvL2NzcyBvbmx5IGZvciAtIExhbmcgQkdcbiAgICAgICAgJjpsYW5nKGJnKSB7XG4gICAgICAgICAgIHRvcDogMTM2cHg7IFxuICAgICAgICB9XG4gICAgICAgICAvL2NzcyBvbmx5IGZvciAtIExhbmcgSFVcbiAgICAgICAgICY6bGFuZyhodSkge1xuICAgICAgICAgICAgdG9wOiAxMjZweDsgXG4gICAgICAgICB9XG4gICAgICAgICAvL2NzcyBvbmx5IGZvciAtIExhbmcgTFRcbiAgICAgICAgICY6bGFuZyhsdCkge1xuICAgICAgICAgICAgdG9wOiAxMTZweDtcbiAgICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyByb1xuICAgICAgICAgJjpsYW5nKHJvKSB7XG4gICAgICAgICAgICB0b3A6IDEyMHB4OyBcbiAgICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBFTFxuICAgICAgICAgJjpsYW5nKGVsKSB7XG4gICAgICAgICAgICB0b3A6IDExMHB4O1xuICAgICAgICAgfVxuICAgICAgICAgLy9jc3Mgb25seSBmb3IgLSBMYW5nIFNMXG4gICAgICAgICAmOmxhbmcoc2wpIHtcbiAgICAgICAgICAgIHRvcDogMTIwcHg7XG4gICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAvL2NzcyBvbmx5IGZvciAtIExhbmcgREVcbiAgICAgICAgJjpsYW5nKGRlKSB7XG4gICAgICAgICAgIHRvcDogMTM1cHg7IFxuICAgICAgICB9XG4gICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBIUlxuICAgICAgICAmOmxhbmcoaHIpIHtcbiAgICAgICAgICAgdG9wOiAxNDVweDsgXG4gICAgICAgIH1cbiAgICAgICAgLy9jc3Mgb25seSBmb3IgLSBMYW5nIEJHXG4gICAgICAgICY6bGFuZyhiZykge1xuICAgICAgICAgICB0b3A6IDE2MHB4OyBcbiAgICAgICAgfSBcbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBIVVxuICAgICAgICAgJjpsYW5nKGh1KSB7XG4gICAgICAgICAgICB0b3A6IDE1NnB4OyBcbiAgICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBIVVxuICAgICAgICAgJjpsYW5nKHBsKSB7XG4gICAgICAgICAgICB0b3A6IDE1NnB4OyBcbiAgICAgICAgIH1cbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBFTFxuICAgICAgICAgJjpsYW5nKGVsKSB7XG4gICAgICAgICAgICB0b3A6IDEzNXB4O1xuICAgICAgICAgfSBcbiAgICAgICAgIC8vY3NzIG9ubHkgZm9yIC0gTGFuZyBFTFxuICAgICAgICAgJjpsYW5nKG10KSB7XG4gICAgICAgICAgICB0b3A6IDE0NXB4O1xuICAgICAgICAgfSBcbiAgICB9XG59XG5cbi8vT25seSBmb3IgSG9tZXBhZ2Vcbi5wYWdlLWhvbWUgLnNoYXJlLWJsb2NrIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHVsLm1lbnUgbGkgYS5pY29uIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gICAgLnNoYXJlLWNvbnRlbnQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYmxhY2s7IFxuICAgIH1cbn1cbi8vT25seSBmb3IgSUVcbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKSB7XG4gICAgLnNoYXJlLWJsb2NrIC5zaGFyZS1jb250ZW50Om50aC1jaGlsZCgxKSxcbiAgICAuc2hhcmUtYmxvY2sgLnNoYXJlLWNvbnRlbnQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC04cHg7XG4gICAgfVxufSIsIi8vbWVtYmVycy1ibG9ja1xyXG4ubWVtYmVycy1ibG9jayB7XHJcblx0LmNvbHVtbnMge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdC5tZW1iZXItaXRlbSB7XHJcblx0XHQvL3dpZHRoOiA0NyU7XHJcblx0XHRcclxuXHRcdC8vbWFyZ2luLXJpZ2h0OiA2JTtcclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpe1xyXG5cdFx0XHR3aWR0aDogMzAuNiU7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMyU7XHJcbiAgICBcdFx0bWFyZ2luLWJvdHRvbTogNyU7XHJcblx0XHRcdCY6bnRoLWNoaWxkKDJuKzApIHtcclxuXHRcdFx0XHQvL21hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOm50aC1jaGlsZCgzbiswKSB7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHQvL3dpZHRoOiAzMC42JTtcclxuXHRcdFx0d2lkdGg6IDIyLjc0JTtcclxuXHRcdFx0Ly9tYXJnaW4tcmlnaHQ6IDQlO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDMlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0JTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0JjpudGgtY2hpbGQoM24rMCkge1xyXG5cdFx0XHRcdC8vbWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLWNoaWxkKDRuKzApIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcblx0XHRcdHdpZHRoOiA0NyU7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogNiU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDclO1xyXG5cdFx0XHQmOm50aC1jaGlsZCgybiswKSB7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdC8vd2lkdGg6IDIyLjc0JTtcclxuXHRcdFx0d2lkdGg6IDE3LjYlO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDMlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0JTtcclxuXHRcdFx0JjpudGgtY2hpbGQoNG4rMCkge1xyXG5cdFx0XHRcdC8vbWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLWNoaWxkKDVuKzApIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm1lbWJlci1pdGVtIGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0Lm1lbWJlci1pdGVtIC5tZW1iZXItZGVzY3JpcHRpb24ge1xyXG5cdFx0bWFyZ2luLXRvcDogNSU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxNnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubWVtYmVyLWl0ZW0gLm1lbWJlci1kZXNjcmlwdGlvbiBoMyB7XHJcblx0XHRmb250LXNpemU6IDIxcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA0cHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XHJcblx0XHR9XHJcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0Zm9udC1mYW1pbHk6IFwib3BlbnNhbnMtcmVnXCIsIHNhbnMtc2VyaWYsIFJvYm90bywgQXJpYWw7XHJcblx0fVxyXG5cdC5tZW1iZXItaXRlbSAubWVtYmVyLWRlc2NyaXB0aW9uIGRpdiB7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8vIFlvdXR1YmUgY29va2llcyBjb25zZW50IGJveFxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4udmlkZW9fX2lmcmFtZTpub3QoW3NyY10pIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuICBcclxuLnZpZGVvX19pZnJhbWVbc3JjXSArIC52aWRlb19fbm90aWNlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi52aWRlbyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDNDNzY7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuLnByaXZhY3ktdmlkZW9zIGlmcmFtZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdFxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR9XHJcblx0XHJcbn1cclxuXHJcbi52aWRlbzo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi52aWRlb19fbm90aWNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjgpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIFxyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR9XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcbiAgXHJcbi52aWRlb19fbm90aWNlID4gKiB7XHJcbiAgICBtYXgtd2lkdGg6IDM4cmVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuICBcclxuLnZpZGVvX19ub3RpY2UgPiBidXR0b24ge1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ym9yZGVyLXJhZGl1czogMnJlbTtcclxufVxyXG4gIFxyXG4udmlkZW9fX25vdGljZSA+IGJ1dHRvbjpob3ZlcixcclxuLnZpZGVvX19ub3RpY2UgPiBidXR0b246Zm9jdXMge1xyXG4gICAgb3V0bGluZTogM3B4IHNvbGlkICR3aGl0ZTtcclxufSIsIi8vSGlnaHRsaWdodHMgYW5jaG9ycyAtIGJsb2NrXHJcbnVsLmhpZ2h0bGlnaHRzLWFuY2hvcnMge1xyXG5cclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAxLjVyZW07XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRwYWRkaW5nOiAycmVtO1xyXG5cdH1cclxuXHJcblx0Ym9yZGVyLXJhZGl1czogMXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCBncmV5KDEpO1xyXG5cdGJveC1zaGFkb3c6IC0wLjEyNXJlbSAtMC4wNjNyZW0gMS44MTNyZW0gMC4yNXJlbSByZ2JhKCRibGFjaywwLjEzKTtcclxuXHRcclxuXHRsaTpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNHJlbTtcclxuXHR9XHJcblxyXG5cdGxpIGEge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpICFpbXBvcnRhbnQ7XHJcblx0XHRcdG91dGxpbmU6IDAuMTI1cmVtIHNvbGlkICRibGFjaztcclxuXHRcdH1cclxuXHJcblx0XHQvLyBhcnJvdyBkb3duIGljb25cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRmb250LXNpemU6IDJyZW07XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdG1hcmdpbi10b3A6IC0wLjJyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0XHR0b3A6IDEuNHJlbTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRsaSBhIHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMi41cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bGkgYSBzcGFuLmZvY3VzLWJsYWNrIHtcclxuXHRcdGNvbG9yOiBncmV5KDMpO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxLjVyZW07XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdH1cclxuXHJcblx0Ly8gbm8gZm9jdXMgdGV4dFxyXG5cdGxpLm5vLWZvY3VzLXRleHQgYSBzcGFuLmZvY3VzLWJsYWNrIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMi4zcmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gaGlnaHRsaWdodHMtYW5jaG9ycyBmb3IgZWFjaCBsYW5ndWFnZSBcclxuXHJcblx0Ly8gQmdcclxuXHRsaS5uby1mb2N1cy10ZXh0Omxhc3QtY2hpbGQgYSBzcGFuLmZvY3VzLWJsYWNrOmxhbmcoYmcpIHtcclxuXHRcdHdpZHRoOiA0LjRyZW07XHJcblx0fVxyXG5cclxuXHQvLyBFdFxyXG5cdGxpLm5vLWZvY3VzLXRleHQ6bGFzdC1jaGlsZCBhIHNwYW4uZm9jdXMtYmxhY2s6bGFuZyhldCkge1xyXG5cdFx0d2lkdGg6IDMuNHJlbTtcclxuXHR9XHJcblxyXG5cdC8vIEh1XHJcblx0bGkubm8tZm9jdXMtdGV4dDpsYXN0LWNoaWxkIGEgc3Bhbi5mb2N1cy1ibGFjazpsYW5nKGh1KSB7XHJcblx0XHR3aWR0aDogMy4zcmVtO1xyXG5cdH1cclxuXHJcblx0Ly8gU2tcclxuXHRsaS5uby1mb2N1cy10ZXh0Omxhc3QtY2hpbGQgYSBzcGFuLmZvY3VzLWJsYWNrOmxhbmcoc2spIHtcclxuXHRcdHdpZHRoOiA0LjlyZW07XHJcblx0fVxyXG59XHJcbiJdfQ== */
