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

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  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=40em&large=64em&xlarge=75em&xxlarge=90em&xxxlarge=119.375em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "proxima-nova", sans-serif, "Helvetica Neue", Helvetica, Roboto, Arial;
  font-weight: 400;
  line-height: 1.5;
  color: #555555;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

.grid-container {
  max-width: 120rem;
  margin: 0 auto; }

.grid-container-padded {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container-padded {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }
  @media screen and (min-width: 120em) {
    .grid-container-padded {
      padding-left: 0;
      padding-right: 0; } }

.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 print, screen and (min-width: 40em) {
  .grid-x > medium-shrink, .grid-x > medium-full, .grid-x > medium-1, .grid-x > medium-2, .grid-x > medium-3, .grid-x > medium-4, .grid-x > medium-5, .grid-x > medium-6, .grid-x > medium-7, .grid-x > medium-8, .grid-x > medium-9, .grid-x > medium-10, .grid-x > medium-11, .grid-x > medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-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 print, screen and (min-width: 64em) {
  .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: 75em) {
  .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%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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%; }
  .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%; }
  .small-margin-collapse > .large-1 {
    width: 8.33333%; }
  .small-margin-collapse > .large-2 {
    width: 16.66667%; }
  .small-margin-collapse > .large-3 {
    width: 25%; }
  .small-margin-collapse > .large-4 {
    width: 33.33333%; }
  .small-margin-collapse > .large-5 {
    width: 41.66667%; }
  .small-margin-collapse > .large-6 {
    width: 50%; }
  .small-margin-collapse > .large-7 {
    width: 58.33333%; }
  .small-margin-collapse > .large-8 {
    width: 66.66667%; }
  .small-margin-collapse > .large-9 {
    width: 75%; }
  .small-margin-collapse > .large-10 {
    width: 83.33333%; }
  .small-margin-collapse > .large-11 {
    width: 91.66667%; }
  .small-margin-collapse > .large-12 {
    width: 100%; }
  .small-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%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-frame {
  width: 100vw;
  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; }

.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 print, screen and (min-width: 40em) {
  .medium-grid-frame {
    width: 100vw;
    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; }
  .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 print, screen and (min-width: 64em) {
  .large-grid-frame {
    width: 100vw;
    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; }
  .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: 75em) {
  .xlarge-grid-frame {
    width: 100vw;
    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; }
  .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; } }

.grid-y.grid-frame {
  width: auto;
  height: 100vh;
  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; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    height: 100vh;
    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; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    height: 100vh;
    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; } }

@media screen and (min-width: 75em) {
  .grid-y.xlarge-grid-frame {
    width: auto;
    height: 100vh;
    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; } }

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

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

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

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

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.875rem;
  font-size: inherit;
  line-height: 1.5;
  text-rendering: optimizeLegibility; }

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "proxima-nova", sans-serif, "Helvetica Neue", Helvetica, Roboto, Arial;
  font-style: normal;
  font-weight: 400;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    line-height: 0;
    color: #cacaca; }

h1 {
  font-size: 2.625rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1.875rem; }

h2 {
  font-size: 1.625rem;
  line-height: 1.4;
  margin-top: 1.5625rem;
  margin-bottom: 1.5625rem; }

h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem; }

h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem; }

h5 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem; }

h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem; }

@media print, screen and (min-width: 40em) {
  h1 {
    font-size: 3.5rem;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 1.875rem; }
  h2 {
    font-size: 1.625rem;
    line-height: 1.4;
    margin-top: 1.5625rem;
    margin-bottom: 1.5625rem; }
  h3 {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
  h4 {
    font-size: 1.125rem;
    line-height: 1.4;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
  h5 {
    font-size: 1.125rem;
    line-height: 1.4;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
  h6 {
    font-size: 1rem;
    line-height: 1.4;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; } }

@media print, screen and (min-width: 64em) {
  h1 {
    font-size: 4.5rem;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 1.875rem; }
  h2 {
    font-size: 2rem;
    line-height: 1.4;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
  h3 {
    font-size: 2rem;
    line-height: 1.4;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
  h4 {
    font-size: 1.25rem;
    line-height: 1.4;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
  h5 {
    font-size: 1.125rem;
    line-height: 1.4;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
  h6 {
    font-size: 1.125rem;
    line-height: 1.4;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; } }

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

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

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

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

blockquote {
  margin: 0 0 1.875rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.5;
    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: 400;
  color: #0a0a0a; }

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

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

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

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

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

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

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

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

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

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

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

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

.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: 4px;
  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: #546776;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #475864;
    color: #ffffff; }
  .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: #546776;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #43525e;
      color: #ffffff; }
  .button.secondary {
    background-color: #546776;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #43525e;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #ffffff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .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: #546776;
      color: #ffffff; }
    .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: #546776;
        color: #ffffff; }
    .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: #546776;
        color: #ffffff; }
    .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: #3adb76;
        color: #0a0a0a; }
    .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: #ffae00;
        color: #0a0a0a; }
    .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: #cc4b37;
        color: #ffffff; }
  .button.hollow {
    border: 1px solid #546776;
    color: #546776; }
    .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: #2a343b;
      color: #2a343b; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #546776;
        color: #546776; }
    .button.hollow.primary {
      border: 1px solid #546776;
      color: #546776; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #2a343b;
        color: #2a343b; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #546776;
          color: #546776; }
    .button.hollow.secondary {
      border: 1px solid #546776;
      color: #546776; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #2a343b;
        color: #2a343b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #546776;
          color: #546776; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #546776;
    color: #546776; }
    .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: #2a343b;
      color: #2a343b; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #546776;
        color: #546776; }
    .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 #546776;
      color: #546776; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #2a343b;
        color: #2a343b; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #546776;
          color: #546776; }
      .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 #546776;
      color: #546776; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #2a343b;
        color: #2a343b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #546776;
          color: #546776; }
      .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 #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .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 #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .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 #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .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: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #546776; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #546776; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #546776; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

[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: 0;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  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: #ffffff;
    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: 0; }

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: 400;
  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: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #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;
  -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: 2.5rem;
    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: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  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: #ffffff;
    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: #cc4b37;
  background-color: #faedeb; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

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

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

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

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #546776; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .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: #ffffff;
  color: #555555; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

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

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

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 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: #ffffff 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: #ffffff 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: #546776;
  color: #ffffff; }
  .badge.primary {
    background: #546776;
    color: #ffffff; }
  .badge.secondary {
    background: #546776;
    color: #ffffff; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #ffffff; }

.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;
    white-space: nowrap;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -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 print, screen and (min-width: 40em) {
    .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 print, screen and (min-width: 64em) {
    .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: 75em) {
    .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; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons 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: #546776;
    color: #ffffff; }
  .menu .active > a {
    background: #546776;
    color: #ffffff; }
  .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.7rem 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; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  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: #546776 transparent transparent;
  right: 5px;
  margin-top: -3px; }

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

.dropdown.menu .is-active > a {
  background: #36454f;
  color: #e6e6e6; }

.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 #546776 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 #546776; }

@media print, screen and (min-width: 40em) {
  .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: #546776 transparent transparent;
    right: 5px;
    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 #546776 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 #546776; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-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: #546776 transparent transparent;
    right: 5px;
    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 #546776 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 #546776; } }

@media screen and (min-width: 75em) {
  .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: #546776 transparent transparent;
    right: 5px;
    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 #546776 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 #546776; } }

.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;
    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: 320px;
  border: 1px solid #cacaca;
  background: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 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 #546776 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 #546776; }
  .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: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #546776;
  color: #ffffff; }
  .label.primary {
    background: #546776;
    color: #ffffff; }
  .label.secondary {
    background: #546776;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #ffffff; }

.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: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #546776;
    color: #ffffff;
    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'; }

.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: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 120rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 120rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 120rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 120rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

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

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

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

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

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #ffffff;
  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: #546776; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #5a6f7f; }

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

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

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

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

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: 700;
  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: #ffffff; }
  .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: 0rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #2C3840; }
  .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 print, screen and (min-width: 40em) {
    .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: 63.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: 74.9375em) {
    .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: 89.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-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 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: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-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 print, screen and (min-width: 40em) {
  .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 print, screen and (min-width: 64em) {
  .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: 75em) {
  .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; } }

.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 print, screen and (min-width: 40em) {
  .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 print, screen and (min-width: 64em) {
  .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: 75em) {
  .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; } }

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

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

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

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

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

/* Accordion CSS for white dropdown */
.accordion {
  background: #fff;
  border-radius: 5px;
  font-weight: 900;
  margin: 10px;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 1vw; }

.accordionDrop {
  padding: 0px 30px;
  font-size: 1vw; }

::-webkit-details-marker {
  display: none; }

h1 {
  font-weight: 800; }

h2, h3, h4 {
  font-weight: 700; }

@media print, screen and (min-width: 64em) {
  a[href^="tel:"] {
    pointer-events: none; } }

.heading--no-margin {
  margin-bottom: 0; }

ul li ul {
  margin-top: 0.9375rem; }
  ul li ul li {
    margin-bottom: 0.46875rem; }

body .container {
  padding-top: 4.25rem; }
  @media print, screen and (min-width: 64em) {
    body .container {
      padding-top: 0; } }

body.page-template-page-service-template .container {
  padding-top: 7.1875rem; }
  @media print, screen and (min-width: 40em) {
    body.page-template-page-service-template .container {
      padding-top: 8.125rem; } }
  @media print, screen and (min-width: 64em) {
    body.page-template-page-service-template .container {
      padding-top: 0; } }

@media print, screen and (min-width: 40em) {
  .mobile-menu,
  .site-title-bar {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .desktop-menu,
  .site-navigation .top-bar-left {
    display: none !important; } }

.site-desktop-title a {
  font-weight: bold; }

.mobile-menu {
  display: none; }

.off-canvas > ul.menu {
  height: 100vh;
  padding: 1rem; }
  .off-canvas > ul.menu a {
    color: #ffffff;
    font-weight: 600;
    font-size: 0.9375rem; }

.off-canvas .menu .active > a {
  background-color: #ccc; }

.title-bar-title a {
  font-size: 1rem;
  color: #B9B9B9; }

.mobile-menu .menu .is-active > a,
.mobile-off-canvas-menu .menu .is-active > a {
  background-color: #36454f; }

.top-bar .top-bar-title a {
  font-size: 1rem;
  color: #B9B9B9;
  padding-left: 1rem;
  line-height: 1.8; }

.top-bar .menu a {
  color: #e6e6e6;
  padding-top: 0;
  padding-bottom: 0;
  font-weight: bold;
  font-size: 0.8rem;
  line-height: 1; }
  .top-bar .menu a:hover:not(.button) {
    background-color: #42525D; }

.top-bar .menu .active > a {
  background-color: #ccc; }

.top-bar .menu > li:not(.menu-text) > a {
  padding: 1rem; }

.top-bar .menu li:not(:last-child) {
  border-right: 1px solid #4e4e4e; }

.top-bar .dropdown.menu .submenu {
  border: 0; }

.top-bar .dropdown.menu .has-submenu.is-down-arrow a {
  padding-right: 1rem; }

.top-bar .dropdown.menu .has-submenu.is-down-arrow > a::after {
  border: 0; }

.top-bar .dropdown.menu:first-child > li.is-dropdown-submenu-parent > a::after {
  display: none; }

@media screen and (max-width: 39.9375em) {
  .site-navigation {
    padding: 0; } }

.post-navigation::before, .post-navigation::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; }

.post-navigation::after {
  clear: both; }

.nav-previous {
  float: left; }

.nav-next {
  float: right; }

.footer-container .footer-further-info {
  padding: 0 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .footer-container .footer-further-info {
      display: none !important; } }
  .footer-container .footer-further-info .button {
    display: block;
    padding: 0.75rem 0.875rem;
    margin-bottom: 0;
    background-color: #CFCFCF; }
    .footer-container .footer-further-info .button:after {
      background-position: -183px -51px;
      height: 0.625rem;
      width: 0.625rem;
      transition: none;
      right: 0.625rem; }
    .footer-container .footer-further-info .button.expanded:after {
      background-position: -195px -51px; }

.footer-container .footer {
  background-color: #F7F7F7;
  padding: 0.9375rem 0; }
  @media print, screen and (min-width: 40em) {
    .footer-container .footer {
      padding: 2.34375rem 0 0; } }
  .footer-container .footer hr {
    margin: 0.9375rem 0; }
    @media print, screen and (min-width: 40em) {
      .footer-container .footer hr {
        margin: 1.875rem 0; } }
  .footer-container .footer ul {
    margin-left: 0;
    margin-bottom: 0; }
    .footer-container .footer ul li {
      list-style: none;
      font-size: 0.875rem;
      margin-bottom: 0.625rem; }
      .footer-container .footer ul li:last-child {
        margin-bottom: 0; }
  .footer-container .footer a:hover {
    opacity: 0.8; }
  .footer-container .footer .footer-menu {
    display: none; }
    .footer-container .footer .footer-menu .footer-menu__service-links {
      padding-top: 1.40625rem; }
    @media print, screen and (min-width: 40em) {
      .footer-container .footer .footer-menu {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        padding-top: 0; }
        .footer-container .footer .footer-menu .footer-menu__service-links {
          padding-top: 0; } }
    .footer-container .footer .footer-menu .footer-menu__block {
      margin-bottom: 1.40625rem; }
      .footer-container .footer .footer-menu .footer-menu__block .menu {
        display: block; }
        .footer-container .footer .footer-menu .footer-menu__block .menu li.is-active a {
          background-color: transparent;
          color: #555555; }
        .footer-container .footer .footer-menu .footer-menu__block .menu li a {
          padding: 0;
          display: inline-block; }
    .footer-container .footer .footer-menu .footer-menu__service-links {
      margin-bottom: 1.40625rem; }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .footer-container .footer .footer-menu .footer-menu__service-links {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: space-around;
              -ms-flex-pack: distribute;
                  justify-content: space-around; }
          .footer-container .footer .footer-menu .footer-menu__service-links li {
            display: inline-block;
            margin-right: 0.9375rem;
            font-size: 1.125rem; }
            .footer-container .footer .footer-menu .footer-menu__service-links li:last-child {
              margin-right: 0; } }
      .footer-container .footer .footer-menu .footer-menu__service-links .footer-menu__service-links--bookWIZARD a {
        color: #B9C400; }
      .footer-container .footer .footer-menu .footer-menu__service-links .footer-menu__service-links--bookVAULT a {
        color: #79B3E2; }
      .footer-container .footer .footer-menu .footer-menu__service-links .footer-menu__service-links--bookGLOBAL a {
        color: #CC2B17; }
      .footer-container .footer .footer-menu .footer-menu__service-links .footer-menu__service-links--bookPUBLISHER a {
        color: #DCAF01; }
      .footer-container .footer .footer-menu .footer-menu__service-links .footer-menu__service-links--bookSHOP a {
        color: #263689; }
  .footer-container .footer .footer-address p {
    font-size: 0.875rem;
    margin-bottom: 0.9375rem; }
  .footer-container .footer .footer-address a:not(.button) {
    font-weight: bold;
    color: #555555; }
  .footer-container .footer .footer-address .footer-address__details p {
    margin-bottom: 0.5rem; }
  .footer-container .footer .footer-address .social-icons {
    margin-top: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .footer-container .footer .footer-address .social-icons {
        margin-bottom: 0.9375rem; } }
    .footer-container .footer .footer-address .social-icons a {
      margin-right: 0.46875rem; }
      .footer-container .footer .footer-address .social-icons a:hover {
        opacity: .8; }
      .footer-container .footer .footer-address .social-icons a:last-child {
        margin-right: 0; }
    .footer-container .footer .footer-address .social-icons .social-icons--facebook {
      display: inline-block;
      height: 2.3125rem;
      width: 2.3125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -245px -29px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
    .footer-container .footer .footer-address .social-icons .social-icons--twitter {
      display: inline-block;
      height: 2.3125rem;
      width: 2.3125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -284px -29px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
    .footer-container .footer .footer-address .social-icons .social-icons--linkedin {
      display: inline-block;
      height: 2.3125rem;
      width: 2.3125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -206px -29px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }

.footer-container .footer-details {
  background-color: #ffffff;
  padding-top: 0.9375rem;
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .footer-container .footer-details {
      text-align: left; } }
  .footer-container .footer-details p {
    margin-bottom: 0; }
  .footer-container .footer-details p, .footer-container .footer-details li {
    font-size: 0.8125rem; }
  .footer-container .footer-details .footer-detail__page-links {
    margin-left: 0;
    margin-bottom: 0; }
    .footer-container .footer-details .footer-detail__page-links li {
      list-style: none;
      display: inline-block;
      margin-right: 0.9375rem; }
      .footer-container .footer-details .footer-detail__page-links li a {
        color: #555555; }
      .footer-container .footer-details .footer-detail__page-links li:last-child {
        margin-right: 0; }
  .footer-container .footer-details .footer-details__badges {
    text-align: center; }
    @media print, screen and (min-width: 64em) {
      .footer-container .footer-details .footer-details__badges {
        text-align: right; } }
    .footer-container .footer-details .footer-details__badges .footer-badge {
      max-height: 2.875rem; }

.footer-container .gform_confirmation_wrapper {
  margin-bottom: 0.9375rem;
  padding: 0.625rem; }

.footer-container .gform_wrapper {
  overflow: hidden; }
  .footer-container .gform_wrapper .validation_error {
    font-size: 0.875rem;
    padding: 0; }
  .footer-container .gform_wrapper .gform_footer {
    margin-top: 0;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .footer-container .gform_wrapper .gform_footer {
        margin-top: 0; } }
    .footer-container .gform_wrapper .gform_footer .button {
      padding: 0.625rem 1.625rem 0.625rem 0.375rem;
      font-size: 0.8125rem;
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .footer-container .gform_wrapper .gform_footer .button {
          width: auto; } }
  .footer-container .gform_wrapper .footer-fieldset {
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: all .2s ease-in-out;
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%); }
    .footer-container .gform_wrapper .footer-fieldset.visible {
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      opacity: 1;
      visibility: visible;
      height: 100%; }
  .footer-container .gform_wrapper .gform_fields .gfield {
    display: block;
    margin-bottom: 0.9375rem; }
    .footer-container .gform_wrapper .gform_fields .gfield .ginput_complex {
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .footer-container .gform_wrapper .gform_fields .gfield .ginput_complex span {
        -webkit-flex: 0 0 48%;
            -ms-flex: 0 0 48%;
                flex: 0 0 48%; }
    .footer-container .gform_wrapper .gform_fields .gfield input {
      font-size: 0.875rem; }
    .footer-container .gform_wrapper .gform_fields .gfield .ginput_container_name label, .footer-container .gform_wrapper .gform_fields .gfield .ginput_container_name select {
      display: none; }
    .footer-container .gform_wrapper .gform_fields .gfield .gfield_label {
      display: none; }
    .footer-container .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_checkbox li {
      margin-bottom: 0; }
      .footer-container .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_checkbox li label {
        font-size: 0.875rem; }
        .footer-container .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_checkbox li label a {
          color: #555555;
          text-decoration: none; }

.home .footer-container {
  margin-top: 0.9375rem; }

.tabbar-container {
  background-color: #ffffff;
  z-index: 13;
  position: fixed;
  top: 0;
  width: 100%;
  box-shadow: 0 2px 4px 0 rgba(207, 207, 207, 0.5);
  transition: -webkit-transform .25s ease-in-out;
  transition: transform .25s ease-in-out;
  transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out; }
  .tabbar-container .sticky-container {
    transition: all .2s ease-in-out; }
  @media screen and (min-width: 64em) {
    .tabbar-container {
      display: none !important; } }
  .tabbar-container.at-top {
    box-shadow: none; }
  .tabbar-container.scrolled {
    -webkit-transform: translateY(-132px);
        -ms-transform: translateY(-132px);
            transform: translateY(-132px); }
    @media print, screen and (min-width: 40em) {
      .tabbar-container.scrolled {
        -webkit-transform: translateY(-132px);
            -ms-transform: translateY(-132px);
                transform: translateY(-132px); } }
  .tabbar-container .service-header {
    top: 0 !important; }
  .tabbar-container .tabbar {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    padding: 0.625rem 0; }
    .tabbar-container .tabbar .tabbar__logo img {
      width: 9.375rem; }
      @media screen and (min-width: 23.75em) {
        .tabbar-container .tabbar .tabbar__logo img {
          width: 11.25rem; } }
    .tabbar-container .tabbar .tabbar__menu {
      position: relative;
      display: inline-block;
      width: 2.5rem; }
      .tabbar-container .tabbar .tabbar__menu .menu-text {
        font-size: 0.75rem;
        position: absolute;
        bottom: 0;
        color: #96A2AB; }
    .tabbar-container .tabbar .tabbar__search {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      @media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
        .tabbar-container .tabbar .tabbar__search {
          display: none !important; } }
      .tabbar-container .tabbar .tabbar__search .input-group-field {
        border: 1px solid #F3F3F3 !important;
        height: 2.125rem !important; }
        @media screen and (min-width: 45em) {
          .tabbar-container .tabbar .tabbar__search .input-group-field {
            width: 15.625rem !important; } }
    .tabbar-container .tabbar .tabbar__links {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      height: 100%;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding-top: 0.375rem; }
    .tabbar-container .tabbar .tabbar__quote-link, .tabbar-container .tabbar .tabbar__account-link, .tabbar-container .tabbar .tabbar__menu {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      text-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 0.75rem;
      text-transform: uppercase;
      color: #96A2AB;
      margin-left: 0.3125rem;
      border-radius: 4px; }
      @media screen and (min-width: 23.75em) {
        .tabbar-container .tabbar .tabbar__quote-link, .tabbar-container .tabbar .tabbar__account-link, .tabbar-container .tabbar .tabbar__menu {
          margin-left: 0.46875rem; } }
      @media screen and (min-width: 30em) {
        .tabbar-container .tabbar .tabbar__quote-link, .tabbar-container .tabbar .tabbar__account-link, .tabbar-container .tabbar .tabbar__menu {
          margin-left: 0.9375rem; } }
    @media screen and (max-width: 25em) {
      .tabbar-container .tabbar .tabbar__account-link {
        display: none; } }
    .tabbar-container .tabbar .tabbar__account-link .tabbar__account-icon {
      display: inline-block;
      height: 1.4375rem;
      width: 1.4375rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -51px -43px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
    .tabbar-container .tabbar .tabbar__quote-link .tabbar__quote-icon {
      display: inline-block;
      height: 1.4375rem;
      width: 1.4375rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -26px -43px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
    .tabbar-container .tabbar .mobile-menu-trigger {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .tabbar-container .tabbar #nav-icon {
      width: 2rem;
      height: 2.5rem;
      position: relative;
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg);
      transition: .5s ease-in-out; }
      .tabbar-container .tabbar #nav-icon span:not(.menu-text) {
        display: block;
        position: absolute;
        height: 0.1875rem;
        width: 100%;
        background-color: #96A2AB;
        border-radius: 8px;
        opacity: 1;
        left: 0;
        -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
                transform: rotate(0deg);
        transition: .25s ease-in-out; }
        .tabbar-container .tabbar #nav-icon span:not(.menu-text):nth-child(1) {
          top: 0; }
        .tabbar-container .tabbar #nav-icon span:not(.menu-text):nth-child(2), .tabbar-container .tabbar #nav-icon span:not(.menu-text):nth-child(3) {
          top: 0.5rem; }
        .tabbar-container .tabbar #nav-icon span:not(.menu-text):nth-child(4) {
          top: 1rem; }
      .tabbar-container .tabbar #nav-icon.open span:not(.menu-text) {
        background: #96a2ab; }
        .tabbar-container .tabbar #nav-icon.open span:not(.menu-text):nth-child(1) {
          top: 0.625rem;
          width: 0;
          left: 50%; }
        .tabbar-container .tabbar #nav-icon.open span:not(.menu-text):nth-child(2) {
          -webkit-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
                  transform: rotate(45deg); }
        .tabbar-container .tabbar #nav-icon.open span:not(.menu-text):nth-child(3) {
          -webkit-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        .tabbar-container .tabbar #nav-icon.open span:not(.menu-text):nth-child(4) {
          top: 0.625rem;
          width: 0;
          left: 50%; }

body.menu-opened .tabbar-container {
  height: 4.25rem; }

.tabbar .tabbar__search .input-group, .preheader .preheader__search-group .input-group {
  position: relative;
  display: inline-block;
  margin-bottom: 0; }
  .tabbar .tabbar__search .input-group .input-group-field, .preheader .preheader__search-group .input-group .input-group-field {
    border: none;
    border-radius: 14px;
    box-shadow: none;
    height: 1.8125rem;
    font-size: 0.8125rem;
    width: 12.5rem;
    padding-left: 0.625rem;
    padding-right: 1.5625rem;
    padding-top: 0;
    padding-bottom: 0; }
  .tabbar .tabbar__search .input-group .input-group-button, .preheader .preheader__search-group .input-group .input-group-button {
    height: 100%;
    top: 0;
    position: absolute;
    right: 0.125rem; }
    .tabbar .tabbar__search .input-group .input-group-button.input-filled:before, .preheader .preheader__search-group .input-group .input-group-button.input-filled:before {
      display: inline-block;
      height: 0.5625rem;
      width: 0.3125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -121px -29px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px;
      transition: right .2s ease-in-out; }
    .tabbar .tabbar__search .input-group .input-group-button.input-filled:hover:before, .preheader .preheader__search-group .input-group .input-group-button.input-filled:hover:before {
      right: 0.3125rem; }
    .tabbar .tabbar__search .input-group .input-group-button:before, .preheader .preheader__search-group .input-group .input-group-button:before {
      content: '';
      position: absolute;
      right: 0.625rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      display: inline-block;
      height: 0.8125rem;
      width: 0.8125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -140px -48px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
    .tabbar .tabbar__search .input-group .input-group-button input, .preheader .preheader__search-group .input-group .input-group-button input {
      padding: 0;
      border: none;
      font-size: 0;
      width: 1.5625rem;
      height: 1.5625rem;
      margin-left: 0;
      display: block;
      background-color: transparent; }

.top-bar-container {
  position: relative;
  z-index: 99; }
  @media screen and (max-width: 63.9375em) {
    .top-bar-container {
      display: none !important; } }
  .top-bar-container .top-bar {
    background-color: #ffffff;
    z-index: 100; }
    .top-bar-container .top-bar.sticky.is-stuck {
      border-bottom: none;
      box-shadow: 0 1px 3px 0 rgba(207, 207, 207, 0.5); }
      .top-bar-container .top-bar.sticky.is-stuck .header-logo {
        padding: 0.5rem 0 0.7rem;
        margin-top: 0; }
        .top-bar-container .top-bar.sticky.is-stuck .header-logo img {
          max-height: 3.75rem; }
      .top-bar-container .top-bar.sticky.is-stuck .menu .menu-item.is-dropdown-submenu-parent:not(.is-dropdown-submenu-item):hover:after {
        -webkit-transform: translateY(4px);
            -ms-transform: translateY(4px);
                transform: translateY(4px); }
      .top-bar-container .top-bar.sticky.is-stuck .menu .menu-item a {
        padding-top: 1.5625rem;
        padding-bottom: 1.5625rem; }
      .top-bar-container .top-bar.sticky.is-stuck .menu .menu-item .submenu li a {
        padding-top: 0.46875rem;
        padding-bottom: 0.46875rem; }
    .top-bar-container .top-bar .header-logo {
      display: inline-block;
      margin-top: -0.3125rem; }
      .top-bar-container .top-bar .header-logo img {
        max-height: 4.375rem; }
    .top-bar-container .top-bar .menu {
      background-color: #ffffff;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .top-bar-container .top-bar .menu li {
        border-left: 1px solid #EEEEEE;
        border-right: none;
        -webkit-flex: 1 0 auto;
            -ms-flex: 1 0 auto;
                flex: 1 0 auto;
        text-align: center;
        margin-bottom: 0; }
        .top-bar-container .top-bar .menu li.menu-item--new-badge {
          position: relative; }
          .top-bar-container .top-bar .menu li.menu-item--new-badge > a {
            padding-right: 4.375rem !important; }
          .top-bar-container .top-bar .menu li.menu-item--new-badge:after {
            content: 'new';
            text-transform: uppercase;
            padding: 0.125rem 0.5rem;
            color: #ffffff;
            font-size: 0.8125rem;
            letter-spacing: 1px;
            text-transform: uppercase;
            font-weight: bold;
            background-color: #43B130;
            position: absolute;
            right: 0.625rem;
            top: 50%;
            -webkit-transform: translateY(-50%);
                -ms-transform: translateY(-50%);
                    transform: translateY(-50%); }
        .top-bar-container .top-bar .menu li .dropdown.menu.vertical > li.opens-right.is-active > a:after {
          -webkit-transform: translateX(4px);
              -ms-transform: translateX(4px);
                  transform: translateX(4px); }
        .top-bar-container .top-bar .menu li .dropdown.menu.vertical > li.opens-right > a::after {
          display: inline-block;
          height: 0.5625rem;
          width: 0.3125rem;
          background-image: url("../images/podw-sprite.svg");
          background-position: -121px -29px;
          background-repeat: no-repeat;
          text-indent: 100%;
          white-space: nowrap;
          overflow: hidden;
          background-size: 482px 66px;
          border: none;
          transition: -webkit-transform .2s ease-in-out;
          transition: transform .2s ease-in-out;
          transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
        .top-bar-container .top-bar .menu li.is-dropdown-submenu-parent:not(.is-dropdown-submenu-item) {
          position: relative; }
          .top-bar-container .top-bar .menu li.is-dropdown-submenu-parent:not(.is-dropdown-submenu-item):after {
            content: '';
            position: absolute;
            left: 50%;
            bottom: 0.6875rem;
            display: inline-block;
            height: 0.3125rem;
            width: 0.5625rem;
            background-image: url("../images/podw-sprite.svg");
            background-position: -69px -34px;
            background-repeat: no-repeat;
            text-indent: 100%;
            white-space: nowrap;
            overflow: hidden;
            background-size: 482px 66px;
            -webkit-transform: translateY(20px);
                -ms-transform: translateY(20px);
                    transform: translateY(20px);
            opacity: 0;
            transition: opacity .1s ease-in-out, -webkit-transform .2s ease-in-out;
            transition: transform .2s ease-in-out, opacity .1s ease-in-out;
            transition: transform .2s ease-in-out, opacity .1s ease-in-out, -webkit-transform .2s ease-in-out; }
          .top-bar-container .top-bar .menu li.is-dropdown-submenu-parent:not(.is-dropdown-submenu-item):hover:after {
            -webkit-transform: translateY(0);
                -ms-transform: translateY(0);
                    transform: translateY(0);
            opacity: 1; }
        .top-bar-container .top-bar .menu li a {
          padding: 0.9375rem 0; }
          .top-bar-container .top-bar .menu li a:hover {
            background-color: #fcfcfc; }
        .top-bar-container .top-bar .menu li.is-active a {
          background-color: #ffffff; }
        .top-bar-container .top-bar .menu li:last-child {
          border-right: 1px solid #EEEEEE; }
        .top-bar-container .top-bar .menu li:not(.menu-text) > a {
          padding: 2.34375rem 0.5rem;
          color: #546776;
          font-weight: bold;
          text-transform: uppercase;
          font-size: 0.875rem; }
          @media screen and (min-width: 75em) {
            .top-bar-container .top-bar .menu li:not(.menu-text) > a {
              padding: 2.34375rem 0.9375rem; } }
          @media screen and (min-width: 90em) {
            .top-bar-container .top-bar .menu li:not(.menu-text) > a {
              font-size: 1rem;
              padding: 2.34375rem 0.9375rem; } }
        .top-bar-container .top-bar .menu li .submenu {
          box-shadow: 0 1px 3px 0 rgba(207, 207, 207, 0.5);
          background-color: #ffffff;
          display: block;
          right: 0;
          left: auto;
          opacity: 0;
          visibility: hidden;
          -webkit-transform: translateY(10px);
              -ms-transform: translateY(10px);
                  transform: translateY(10px);
          transition: opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
          transition: transform .2s ease-in-out, opacity .2s ease-in-out;
          transition: transform .2s ease-in-out, opacity .2s ease-in-out, -webkit-transform .2s ease-in-out; }
          .top-bar-container .top-bar .menu li .submenu.js-dropdown-active {
            opacity: 1;
            visibility: visible;
            -webkit-transform: translateY(0px);
                -ms-transform: translateY(0px);
                    transform: translateY(0px); }
          .top-bar-container .top-bar .menu li .submenu li {
            border: none;
            padding-bottom: 0.25rem;
            padding-top: 0.25rem;
            text-align: left; }
            .top-bar-container .top-bar .menu li .submenu li a {
              text-transform: none;
              padding: 0.46875rem 0.9375rem; }
              .top-bar-container .top-bar .menu li .submenu li a:hover {
                background-color: #fcfcfc; }

.menu .menu-item.menu-item--bookGlobal > a {
  font-weight: 400 !important;
  color: #CC2B17 !important; }

.menu .menu-item.menu-item--bookVault > a {
  font-weight: 400 !important;
  color: #79B3E2 !important; }

.menu .menu-item.menu-item--bookWizard > a {
  font-weight: 400 !important;
  color: #B9C400 !important; }

.menu .menu-item.menu-item--bookPublisher > a {
  font-weight: 400 !important;
  color: #DCAF01 !important; }

.menu .menu-item.menu-item--bookShop > a {
  font-weight: 400 !important;
  color: #263689 !important; }

.page-template-default .top-bar-container {
  box-shadow: 0 2px 4px 0 rgba(207, 207, 207, 0.5);
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .page-template-default .top-bar-container {
      margin-bottom: 2.8125rem; } }

.top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap {
  background-color: #ffffff; }
  .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu li.mega-menu-flyout ul.mega-sub-menu {
      width: 13.75rem; }
    .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item {
      -webkit-flex: 1 0 auto;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      border-left: 1px solid #EEEEEE; }
      .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item:last-child {
        border-right: 1px solid #eee; }
      .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item.mega-toggle-on > a, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item.mega-current-menu-item > a {
        background-color: #fcfcfc; }
      .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item .mega-menu-link {
        background-color: #ffffff;
        color: #546776;
        font-weight: 700; }
        @media screen and (min-width: 90em) {
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item .mega-menu-link {
            font-size: 1rem; } }
        .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item .mega-menu-link:hover {
          background-color: #fcfcfc; }
      .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item .new-badge {
        display: inline-block;
        text-transform: uppercase;
        margin-left: 0.625rem;
        -webkit-transform: translateY(-3px);
            -ms-transform: translateY(-3px);
                transform: translateY(-3px);
        padding: 0.125rem 0.5rem;
        color: #ffffff;
        font-size: 0.8125rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        font-weight: bold;
        background-color: #43B130; }
      .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > a.mega-menu-link {
        background-color: #ffffff;
        padding: 2.34375rem 0.5rem;
        color: #546776;
        font-weight: bold;
        text-transform: uppercase;
        font-size: 0.875rem;
        text-align: center;
        line-height: 1;
        height: auto; }
        .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > a.mega-menu-link:hover, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > a.mega-menu-link:focus {
          background-color: #fcfcfc; }
        @media screen and (min-width: 75em) {
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > a.mega-menu-link {
            padding: 2.34375rem 0.9375rem; } }
        @media screen and (min-width: 90em) {
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > a.mega-menu-link {
            font-size: 1rem;
            padding: 2.34375rem 0.9375rem; } }
        .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator {
          position: absolute;
          left: 50%;
          bottom: 0.6875rem;
          display: inline-block;
          height: 0.3125rem;
          width: 0.5625rem;
          background-image: url("../images/podw-sprite.svg");
          background-position: -69px -34px;
          background-repeat: no-repeat;
          text-indent: 100%;
          white-space: nowrap;
          overflow: hidden;
          background-size: 482px 66px;
          -webkit-transform: translateY(20px);
              -ms-transform: translateY(20px);
                  transform: translateY(20px);
          opacity: 0;
          transition: opacity .1s ease-in-out, -webkit-transform .2s ease-in-out;
          transition: transform .2s ease-in-out, opacity .1s ease-in-out;
          transition: transform .2s ease-in-out, opacity .1s ease-in-out, -webkit-transform .2s ease-in-out; }
      .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu {
        background-color: #ffffff !important;
        background: #ffffff !important;
        box-shadow: 0 1px 3px 0 rgba(207, 207, 207, 0.5); }
        .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__guide-wrap {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; }
          @media screen and (min-width: 81.25em) {
            .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__guide-wrap {
              -webkit-flex-direction: row;
                  -ms-flex-direction: row;
                      flex-direction: row; } }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__guide-wrap .mega-block__guide-image {
            margin-bottom: 0.9375rem; }
            @media screen and (min-width: 81.25em) {
              .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__guide-wrap .mega-block__guide-image {
                -webkit-flex: 0 0 5.625rem;
                    -ms-flex: 0 0 5.625rem;
                        flex: 0 0 5.625rem;
                margin-bottom: 0; } }
            @media screen and (min-width: 90em) {
              .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__guide-wrap .mega-block__guide-image {
                -webkit-flex: 0 0 6.25rem;
                    -ms-flex: 0 0 6.25rem;
                        flex: 0 0 6.25rem; } }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__guide-wrap .mega-block__guide-details {
            -webkit-flex: 1 1 auto;
                -ms-flex: 1 1 auto;
                    flex: 1 1 auto; }
            @media screen and (min-width: 81.25em) {
              .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__guide-wrap .mega-block__guide-details {
                margin-left: 0.9375rem; } }
        .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-menu-row {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-menu-row > .mega-sub-menu {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-menu-row .mega-menu-item {
            padding: 1.25rem 1.5625rem; }
        .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .cta-block-column {
          background-color: #F3F3F3;
          height: 100%; }
        .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title {
          position: relative;
          border-bottom: 1px solid #DDDDDD;
          margin-bottom: 0.625rem;
          padding-bottom: 0.3125rem;
          font-size: 0.875rem; }
          @media screen and (min-width: 90em) {
            .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title {
              font-size: 1rem; } }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title:hover {
            border-bottom: 1px solid #DDDDDD; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title a:hover {
            opacity: 0.7; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title .mega-block-title__sub {
            text-transform: initial;
            font-style: italic;
            font-weight: normal; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookPublisher, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookWizard, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookVault, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookGlobal, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookShop {
            border-bottom: none;
            margin-bottom: 0; }
            @media screen and (min-width: 75em) {
              .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookPublisher, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookWizard, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookVault, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookGlobal, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookShop {
                padding-left: 2.5rem; }
                .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookPublisher:before, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookWizard:before, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookVault:before, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookGlobal:before, .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookShop:before {
                  content: '';
                  background-image: url("../images/service-logos/service-circle-colour--bookPublisher.svg");
                  background-size: 30px 30px;
                  position: absolute;
                  left: 0;
                  top: -0.3125rem;
                  height: 1.875rem;
                  width: 1.875rem; } }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookPublisher a {
            color: #DCAF01; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookWizard a {
            color: #B9C400; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookWizard:before {
            background-image: url("../images/service-logos/service-circle-colour--bookWizard.svg"); }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookVault a {
            color: #79B3E2; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookVault:before {
            background-image: url("../images/service-logos/service-circle-colour--bookVault.svg"); }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookGlobal a {
            color: #CC2B17; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookGlobal:before {
            background-image: url("../images/service-logos/service-circle-colour--bookGlobal.svg"); }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookShop a {
            color: #263689; }
          .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block-title.menu-block-title--bookShop:before {
            background-image: url("../images/service-logos/service-circle-colour--bookShop.svg"); }
        .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__inner {
          display: block; }
          @media screen and (min-width: 75em) {
            .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item > .mega-sub-menu .mega-block__inner {
              margin-left: 2.5rem; } }
      .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item.mega-menu-item-has-children:hover .mega-indicator {
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);
        opacity: 1; }
      .top-bar-container #mega-menu-wrap-wordpress-menu.mega-menu-wrap #mega-menu-wordpress-menu.mega-menu.max-mega-menu > li.mega-menu-item:last-child > .mega-sub-menu {
        right: 0; }

.preheader {
  position: relative;
  background-color: #F3F3F3;
  padding: 0.4375rem 0; }
  @media screen and (max-width: 63.9375em) {
    .preheader {
      display: none !important; } }
  .preheader .preheader__message p {
    font-size: 0.875rem;
    margin-bottom: 0; }
  .preheader .preheader__message a {
    color: #546776;
    font-weight: bold;
    text-decoration: none; }
    .preheader .preheader__message a:hover {
      text-decoration: none; }
  .preheader .preader__search-container {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (min-width: 75em) {
      .preheader .preader__search-container {
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    .preheader .preader__search-container .button {
      margin-bottom: 0;
      text-transform: none;
      font-weight: normal;
      font-size: 0.875rem;
      padding-top: 0.375rem;
      padding-bottom: 0.375rem;
      margin-left: 0.46875rem;
      letter-spacing: 0; }
    .preheader .preader__search-container .button--publishing-guide {
      background-color: #DCAF01; }
      @media screen and (max-width: 95em) {
        .preheader .preader__search-container .button--publishing-guide {
          display: none !important; } }
      .preheader .preader__search-container .button--publishing-guide:hover {
        background-color: #c39b01; }
      .preheader .preader__search-container .button--publishing-guide:after {
        right: 0.4375rem;
        display: inline-block;
        height: 1.0625rem;
        width: 1.3125rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -298px -4px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }
    .preheader .preader__search-container .button--services-guide:after {
      right: 0.4375rem;
      display: inline-block;
      height: 0.875rem;
      width: 1.125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -258px -5px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
    .preheader .preader__search-container .button--bookwizard-quote {
      background-color: #B9C400;
      padding-right: 2.1875rem; }
      .preheader .preader__search-container .button--bookwizard-quote:hover {
        background-color: #a1ab00; }
      .preheader .preader__search-container .button--bookwizard-quote:hover {
        transition: none; }
      .preheader .preader__search-container .button--bookwizard-quote:after {
        right: 0.4375rem;
        display: inline-block;
        height: 1.1875rem;
        width: 1.1875rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -97px -45px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }
    .preheader .preader__search-container .button--account {
      background-color: #ffffff;
      color: #546776;
      text-transform: none;
      font-weight: normal; }
      .preheader .preader__search-container .button--account:after {
        right: 0.4375rem;
        display: inline-block;
        height: 0.4375rem;
        width: 0.9375rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -241px -9px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }

.preheader .account-dropdown, .tabbar .account-dropdown {
  display: none;
  margin-bottom: 0;
  margin-left: 0;
  background-color: #ffffff;
  position: absolute;
  top: 100%;
  z-index: 100;
  right: 0;
  min-width: 13.75rem;
  box-shadow: 0 1px 3px 0 rgba(207, 207, 207, 0.5);
  margin-top: 0.5rem; }
  .preheader .account-dropdown.opened, .tabbar .account-dropdown.opened {
    display: block; }
    @media screen and (max-width: 25em) {
      .preheader .account-dropdown.opened, .tabbar .account-dropdown.opened {
        display: none; } }
  .preheader .account-dropdown:before, .tabbar .account-dropdown:before {
    content: '';
    position: absolute;
    top: -0.4375rem;
    right: 0.625rem;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    border-bottom-color: #ffffff;
    border-top: 0;
    margin-left: -0.5rem;
    margin-bottom: -0.5rem; }
  .preheader .account-dropdown li, .tabbar .account-dropdown li {
    margin-bottom: 0;
    list-style: none;
    border-bottom: 1px solid rgba(221, 221, 221, 0.3);
    padding: 0.5rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: 0.875rem; }
    .preheader .account-dropdown li .service-icon, .tabbar .account-dropdown li .service-icon {
      width: 2.1875rem;
      margin-right: 0.46875rem;
      -webkit-flex: 0 0 2.1875rem;
          -ms-flex: 0 0 2.1875rem;
              flex: 0 0 2.1875rem; }
    .preheader .account-dropdown li span, .tabbar .account-dropdown li span {
      display: inline-block;
      -webkit-flex: 0 0 8.4375rem;
          -ms-flex: 0 0 8.4375rem;
              flex: 0 0 8.4375rem;
      margin: 0 0.3125rem; }
    .preheader .account-dropdown li .button, .tabbar .account-dropdown li .button {
      font-size: 0.625rem;
      padding: 0.5625rem 1.5rem 0.5625rem 0.5625rem;
      margin: 0 0.125rem;
      text-transform: uppercase;
      font-weight: 700;
      letter-spacing: .72px; }
    .preheader .account-dropdown li .secondary, .tabbar .account-dropdown li .secondary {
      background-color: #ffffff;
      color: #555555;
      border: 1px solid #DDDDDD; }
      .preheader .account-dropdown li .secondary:after, .tabbar .account-dropdown li .secondary:after {
        content: '';
        position: absolute;
        display: inline-block;
        height: 0.5625rem;
        width: 0.3125rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -121px -29px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); }

.tabbar .account-dropdown {
  top: 4.25rem;
  right: 3.75rem; }

.fullscreen-navigation {
  background-color: #ffffff;
  position: fixed;
  right: 0;
  height: 100%;
  width: 0;
  z-index: 12;
  top: 0;
  transition: width 0.3s ease-in;
  overflow-y: scroll;
  overflow-x: hidden;
  padding-bottom: 5rem;
  padding-top: 5.625rem; }
  @media screen and (min-width: 64em) {
    .fullscreen-navigation {
      display: none !important; } }
  .fullscreen-navigation.opened {
    width: 100%; }
    .fullscreen-navigation.opened #menu-desktop-menu {
      opacity: 1;
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); }
    .fullscreen-navigation.opened .fullscreen-navigation__cta {
      transition-delay: .4s;
      bottom: 0;
      opacity: 1; }
  .fullscreen-navigation #menu-desktop-menu {
    text-align: left;
    opacity: 0;
    -webkit-transform: translateX(100px);
        -ms-transform: translateX(100px);
            transform: translateX(100px);
    transition: all 0.3s 0.2s ease-out;
    transition-delay: .3s; }
  .fullscreen-navigation .menu {
    padding: 0 0.625rem; }
    .fullscreen-navigation .menu li {
      margin-bottom: 0.625rem; }
      .fullscreen-navigation .menu li.menu-item--new-badge {
        position: relative; }
        .fullscreen-navigation .menu li.menu-item--new-badge > a {
          padding-right: 3.75rem !important; }
        .fullscreen-navigation .menu li.menu-item--new-badge:after {
          content: 'new';
          text-transform: uppercase;
          padding: 0.125rem 0.5rem;
          color: #ffffff;
          font-size: 0.8125rem;
          letter-spacing: 1px;
          text-transform: uppercase;
          font-weight: bold;
          background-color: #43B130;
          position: absolute;
          right: 0.625rem;
          top: 50%;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
      .fullscreen-navigation .menu li.is-active a {
        background-color: transparent;
        color: #555555; }
      .fullscreen-navigation .menu li .submenu-toggle::after {
        display: inline-block;
        height: 0.4375rem;
        width: 0.8125rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -54px -34px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px;
        border: none; }
      .fullscreen-navigation .menu li a {
        font-size: 1.25rem;
        font-weight: bold;
        color: #555555; }
      .fullscreen-navigation .menu li .submenu {
        padding: 0.625rem 0; }
        .fullscreen-navigation .menu li .submenu li:last-child {
          margin-bottom: 0; }
        .fullscreen-navigation .menu li .submenu li a {
          font-weight: normal;
          font-size: 1.125rem; }
  .fullscreen-navigation .fullscreen-navigation__cta {
    background-color: #F3F3F3;
    width: 100%;
    position: fixed;
    text-align: center;
    bottom: -100%;
    left: 0;
    opacity: 0;
    color: #ffffff;
    padding: 0.5rem 0;
    transition: bottom .2s ease-in-out;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: 0.875rem; }
    @media screen and (max-width: 22.9375em) {
      .fullscreen-navigation .fullscreen-navigation__cta {
        display: none !important; } }
    @media screen and (min-width: 26.25em) {
      .fullscreen-navigation .fullscreen-navigation__cta {
        font-size: 1rem; } }
    .fullscreen-navigation .fullscreen-navigation__cta .fullscreen-navigation__cta-item {
      position: relative;
      text-transform: uppercase;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-flex: 0 0 32%;
          -ms-flex: 0 0 32%;
              flex: 0 0 32%;
      line-height: 1.2; }
      .fullscreen-navigation .fullscreen-navigation__cta .fullscreen-navigation__cta-item:before {
        content: '';
        margin-bottom: 0.375rem;
        display: block;
        height: 1.25rem;
        width: 1.1875rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -344px -2px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }
      .fullscreen-navigation .fullscreen-navigation__cta .fullscreen-navigation__cta-item--services-book:before {
        content: '';
        display: block;
        height: 1.125rem;
        width: 1.125rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -278px -3px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }
      .fullscreen-navigation .fullscreen-navigation__cta .fullscreen-navigation__cta-item--publishing-guide:before {
        content: '';
        display: block;
        height: 1.0625rem;
        width: 1.3125rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -321px -4px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }

body.menu-opened {
  overflow: hidden;
  position: fixed; }
  body.menu-opened .tabbar-container {
    box-shadow: none;
    border-bottom: 1px solid #F3F3F3;
    z-index: 13; }
    body.menu-opened .tabbar-container .service-header {
      opacity: 0; }
    body.menu-opened .tabbar-container .sticky-container {
      pointer-events: none; }
    body.menu-opened .tabbar-container .tabbar {
      z-index: 13; }
      body.menu-opened .tabbar-container .tabbar .tabbar__menu .mobile-menu-trigger:after {
        content: 'close';
        position: absolute;
        bottom: 0;
        color: #96A2AB; }
      body.menu-opened .tabbar-container .tabbar .tabbar__menu .menu-text {
        display: none; }

.button {
  position: relative;
  text-transform: uppercase;
  font-weight: bold;
  padding: 0.5625rem 2rem 0.5625rem 0.875rem;
  font-size: 0.8125rem;
  letter-spacing: 0.72px;
  text-align: left; }
  .button:after {
    content: '';
    position: absolute;
    display: inline-block;
    height: 0.5625rem;
    width: 0.3125rem;
    background-image: url("../images/podw-sprite.svg");
    background-position: -97px -29px;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: 482px 66px;
    right: 0.625rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    transition: right .2s ease-in-out; }
  .button:hover:after {
    right: 0.3125rem; }

.button--transparent, .sidebar .service-sidebar .service-sidebar__content .button, .two-column-text-area .text-area .button, .text-with-image .text-with-image__text-area .button, .landscape-cards .card-item .card-item__content .button, .video-with-text .button {
  background-color: transparent;
  color: #546776;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
  transition: -webkit-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
  transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
  .button--transparent:hover, .sidebar .service-sidebar .service-sidebar__content .button:hover, .two-column-text-area .text-area .button:hover, .text-with-image .text-with-image__text-area .button:hover, .landscape-cards .card-item .card-item__content .button:hover, .video-with-text .button:hover {
    background-color: transparent; }
  .button--transparent:after, .sidebar .service-sidebar .service-sidebar__content .button:after, .two-column-text-area .text-area .button:after, .text-with-image .text-with-image__text-area .button:after, .landscape-cards .card-item .card-item__content .button:after, .video-with-text .button:after {
    content: '';
    position: absolute;
    display: inline-block;
    height: 0.5625rem;
    width: 0.3125rem;
    background-image: url("../images/podw-sprite.svg");
    background-position: -121px -29px;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: 482px 66px; }

/**
 * Swiper 4.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 14, 2018
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -ms-flex-negative: 0;
  -webkit-flex-shrink: 0;
          flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px; }

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); }

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x; }

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat; }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto; }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto; }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left, 200ms -webkit-transform; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform; }

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff; }

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000; }

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000; }

.swiper-pagination-lock {
  display: none; }

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-coverflow .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

.ftd-social h5 {
  display: none; }

.ftd-social .crunchify-social {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 0.9375rem;
  margin-top: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .ftd-social .crunchify-social {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  .ftd-social .crunchify-social:before {
    display: none; }
  .ftd-social .crunchify-social .crunchify-link {
    border-radius: 1000px;
    background-color: #546776;
    margin-right: 0.5rem; }

.sidebar .widget {
  background-color: #F3F3F3;
  margin-bottom: 1.875rem; }
  .sidebar .widget h6 {
    margin: 0;
    border-bottom: 1px solid #DDDDDD;
    text-transform: uppercase;
    font-weight: bold;
    padding: 0.9375rem; }
  .sidebar .widget .button {
    display: block;
    padding: 0.75rem 2rem 0.75rem 0.875rem;
    font-size: 0.9375rem;
    margin-bottom: 0; }
    .sidebar .widget .button:after {
      background-position: -97px -28px; }
  .sidebar .widget ul {
    margin-left: 0;
    padding: 1.25rem 0; }
    .sidebar .widget ul li {
      list-style: none;
      padding: 0 1.25rem; }
      .sidebar .widget ul li:last-child {
        margin-bottom: 0; }
  .sidebar .widget ul.accordion {
    background-color: transparent;
    padding: 1.25rem 0 0 0; }
    .sidebar .widget ul.accordion li {
      padding: 0 1.25rem; }
      .sidebar .widget ul.accordion li.ftd-blog-widget-month-li {
        border-bottom: 1px solid #DDDDDD; }
      .sidebar .widget ul.accordion li .ftd-blog-widget-target, .sidebar .widget ul.accordion li .ftd-blog-widget-viewmore-months {
        padding-top: 0; }
      .sidebar .widget ul.accordion li ul {
        margin-left: 0; }
        .sidebar .widget ul.accordion li ul li {
          padding: 0;
          border-bottom: none; }
          .sidebar .widget ul.accordion li ul li:last-child {
            padding-bottom: 0; }
      .sidebar .widget ul.accordion li .ftd-blog-widget-view-more {
        display: block;
        font-size: 0; }
        .sidebar .widget ul.accordion li .ftd-blog-widget-view-more:before {
          content: 'View less articles';
          font-size: 1rem; }
        .sidebar .widget ul.accordion li .ftd-blog-widget-view-more.closed:before {
          content: 'View older articles';
          font-size: 1rem; }
      .sidebar .widget ul.accordion li .accordion-month {
        position: relative;
        font-weight: bold;
        margin-bottom: 0.9375rem;
        background-image: none; }
        .sidebar .widget ul.accordion li .accordion-month:after {
          content: '';
          display: inline-block;
          height: 0.375rem;
          width: 0.4375rem;
          background-image: url("../images/podw-sprite.svg");
          background-position: -88px -30px;
          background-repeat: no-repeat;
          text-indent: 100%;
          white-space: nowrap;
          overflow: hidden;
          background-size: 482px 66px;
          position: absolute;
          right: 0;
          top: 50%;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
        .sidebar .widget ul.accordion li .accordion-month.closed:after {
          content: '';
          background-position: -80px -33px; }
      .sidebar .widget ul.accordion li:last-child {
        padding-bottom: 1.25rem; }

.sidebar .sidebar-contact {
  text-align: center;
  padding: 1.625rem; }
  .sidebar .sidebar-contact .sidebar-contact__title {
    font-size: 2rem;
    margin-top: 0;
    line-height: 1; }
  .sidebar .sidebar-contact .button {
    text-align: left; }
  .sidebar .sidebar-contact p {
    font-size: 1.125rem; }
    .sidebar .sidebar-contact p:last-child {
      margin-bottom: 0; }

.sidebar .service-sidebar {
  border-bottom: 10px solid transparent; }
  .sidebar .service-sidebar .service-sidebar__image {
    background-size: cover;
    background-position: center center;
    text-align: center;
    padding: 1.875rem;
    background-color: #888888;
    background-blend-mode: multiply; }
    @media screen and (min-width: 64em) and (max-width: 74.9375em) {
      .sidebar .service-sidebar .service-sidebar__image {
        padding: 0.9375rem; } }
    .sidebar .service-sidebar .service-sidebar__image .service-sidebar__image-service-icon {
      width: 4.6875rem; }
    .sidebar .service-sidebar .service-sidebar__image .service-sidebar__image-service-name {
      display: block;
      font-size: 1.125rem;
      margin-top: 0.4375rem;
      font-weight: bold;
      text-transform: uppercase; }
      .sidebar .service-sidebar .service-sidebar__image .service-sidebar__image-service-name .book {
        text-transform: initial;
        font-weight: normal; }
    .sidebar .service-sidebar .service-sidebar__image .service-sidebar__image-title {
      font-size: 2rem;
      line-height: 1;
      color: #ffffff;
      margin-top: 0; }
  .sidebar .service-sidebar .service-sidebar__content {
    text-align: center;
    padding: 1.875rem 1.875rem; }
    .sidebar .service-sidebar .service-sidebar__content .service-sidebar__content-title {
      font-size: 1.25rem;
      font-weight: bold;
      margin-top: 0; }
    .sidebar .service-sidebar .service-sidebar__content .button {
      color: #555555;
      display: inline-block; }

.sidebar .sidebar-services-list {
  padding: 1.25rem; }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .sidebar .sidebar-services-list {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .sidebar .sidebar-services-list .service-item {
        -webkit-flex: 0 0 45%;
            -ms-flex: 0 0 45%;
                flex: 0 0 45%; } }
  .sidebar .sidebar-services-list .service-item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 64em) and (max-width: 74.9375em) {
      .sidebar .sidebar-services-list .service-item {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        text-align: center; }
        .sidebar .sidebar-services-list .service-item .service-item__icon {
          margin-bottom: 0.9375rem; } }
    .sidebar .sidebar-services-list .service-item .service-item__icon {
      -webkit-flex: 0 0 4.6875rem;
          -ms-flex: 0 0 4.6875rem;
              flex: 0 0 4.6875rem;
      width: 4.6875rem;
      margin-right: 1.25rem; }
    .sidebar .sidebar-services-list .service-item .service-item__description {
      font-size: 0.875rem; }
      .sidebar .sidebar-services-list .service-item .service-item__description p {
        margin-bottom: 0; }
      .sidebar .sidebar-services-list .service-item .service-item__description .service-item__description-service {
        margin-bottom: 0.375rem;
        display: inline-block;
        font-size: 1.125rem; }

.sidebar .widget_archive ul li {
  font-weight: bold; }

.pagination {
  padding: 0 0.9375rem; }
  .pagination li .current {
    border-color: #546776; }
  .pagination li span, .pagination li a {
    font-weight: bold;
    background-color: #F3F3F3;
    height: 2.5rem;
    width: 2.5rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 0.125rem;
    color: #555555;
    font-size: 1.25rem; }
  .pagination li a {
    color: #546776; }

@media print, screen and (min-width: 40em) {
  .contact-cta {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-left: -1%;
    margin-right: -1%; } }

.contact-cta .cta-item {
  background-color: #F3F3F3;
  text-align: center;
  margin-bottom: 1.875rem; }
  .contact-cta .cta-item .cta-item__inner {
    padding: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .contact-cta .cta-item {
      -webkit-flex: 0 0 31.33%;
          -ms-flex: 0 0 31.33%;
              flex: 0 0 31.33%;
      margin-left: 1%;
      margin-right: 1%; } }
  .contact-cta .cta-item .cta-item__icon-container {
    position: relative;
    border-radius: 1000px;
    height: 6.25rem;
    width: 6.25rem;
    background-color: #ffffff;
    margin: auto;
    box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5); }
    .contact-cta .cta-item .cta-item__icon-container img {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
  .contact-cta .cta-item .cta-item__title {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem; }
  .contact-cta .cta-item a {
    color: #555555; }
  .contact-cta .cta-item a[href^="tel:"] {
    font-weight: bold; }

.contact-location {
  background-color: #F3F3F3;
  margin-bottom: 1.875rem; }
  .contact-location .contact-location-wrap {
    padding: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .contact-location .contact-location-wrap {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
  .contact-location .contact-location__column {
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .contact-location .contact-location__column {
        -webkit-flex: 0 0 48%;
            -ms-flex: 0 0 48%;
                flex: 0 0 48%;
        margin-bottom: 0; } }
    @media print, screen and (min-width: 64em) {
      .contact-location .contact-location__column {
        -webkit-flex: 0 0 33%;
            -ms-flex: 0 0 33%;
                flex: 0 0 33%; }
        .contact-location .contact-location__column.contact-location__column-copyright-container {
          -webkit-flex: 1 0 auto;
              -ms-flex: 1 0 auto;
                  flex: 1 0 auto; } }
    .contact-location .contact-location__column .contact-telephone {
      margin-left: 0;
      margin-bottom: 0; }
      .contact-location .contact-location__column .contact-telephone li {
        list-style: none;
        margin-bottom: 0; }
        @media screen and (min-width: 30em) {
          .contact-location .contact-location__column .contact-telephone li {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex; } }
        .contact-location .contact-location__column .contact-telephone li span {
          font-size: 1.25rem; }
          @media screen and (min-width: 30em) {
            .contact-location .contact-location__column .contact-telephone li span {
              -webkit-flex: 0 0 50%;
                  -ms-flex: 0 0 50%;
                      flex: 0 0 50%; } }
    .contact-location .contact-location__column .contact-location__column-copyright {
      margin-bottom: 0;
      margin-top: 1.875rem; }
    .contact-location .contact-location__column .contact-address {
      margin-left: 0;
      margin-bottom: 0; }
      .contact-location .contact-location__column .contact-address li {
        margin-bottom: 0;
        list-style: none;
        font-size: 1.25rem;
        font-weight: bold; }
  .contact-location .contact-location__map {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    height: 25rem;
    padding: 0;
    position: relative;
    overflow: hidden;
    max-width: 100%; }
  .contact-location iframe, .contact-location object, .contact-location embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.gform_wrapper .gform_heading .gform_description {
  display: block;
  color: #000;
  margin-bottom: 1.875rem;
  font-size: 1.75rem; }
  @media print, screen and (min-width: 64em) {
    .gform_wrapper .gform_heading .gform_description {
      font-size: 2rem; } }

.gform_wrapper .gform_fields {
  margin-left: 0;
  margin-bottom: 0; }
  .gform_wrapper .gform_fields .gfield {
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .gform_wrapper .gform_fields .gfield {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
    .gform_wrapper .gform_fields .gfield.gfield_html {
      text-align: left; }
      .gform_wrapper .gform_fields .gfield.gfield_html p {
        font-size: 0.875rem;
        margin-bottom: 0.5rem; }
      .gform_wrapper .gform_fields .gfield.gfield_html .gfield-message {
        background-color: #F3F3F3;
        -webkit-flex: 0 0 70%;
            -ms-flex: 0 0 70%;
                flex: 0 0 70%;
        text-align: left;
        padding: 0.9375rem; }
        .gform_wrapper .gform_fields .gfield.gfield_html .gfield-message p:last-child {
          margin-bottom: 0; }
    .gform_wrapper .gform_fields .gfield.gform_validation_container {
      display: none; }
    .gform_wrapper .gform_fields .gfield.gfield--title select {
      width: 5.9375rem; }
    .gform_wrapper .gform_fields .gfield label {
      color: #555555; }
    .gform_wrapper .gform_fields .gfield.gfield--hide-label .gfield_label {
      display: none; }
    .gform_wrapper .gform_fields .gfield .gfield_label {
      text-align: left;
      font-weight: bold;
      color: #555555;
      padding-top: 0.5rem;
      font-size: 1rem; }
      .gform_wrapper .gform_fields .gfield .gfield_label .gfield_required {
        display: none; }
      @media print, screen and (min-width: 40em) {
        .gform_wrapper .gform_fields .gfield .gfield_label {
          text-align: right;
          -webkit-flex: 0 0 20%;
              -ms-flex: 0 0 20%;
                  flex: 0 0 20%;
          margin-right: 3%; } }
      @media print, screen and (min-width: 64em) {
        .gform_wrapper .gform_fields .gfield .gfield_label {
          -webkit-flex: 0 0 27%;
              -ms-flex: 0 0 27%;
                  flex: 0 0 27%;
          margin-right: 3%; } }
    @media print, screen and (min-width: 40em) {
      .gform_wrapper .gform_fields .gfield .validation_message, .gform_wrapper .gform_fields .gfield .ginput_container {
        -webkit-flex: 0 0 77%;
            -ms-flex: 0 0 77%;
                flex: 0 0 77%; } }
    @media print, screen and (min-width: 64em) {
      .gform_wrapper .gform_fields .gfield .validation_message, .gform_wrapper .gform_fields .gfield .ginput_container {
        -webkit-flex: 0 0 70%;
            -ms-flex: 0 0 70%;
                flex: 0 0 70%; } }
    .gform_wrapper .gform_fields .gfield .ginput_container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      .gform_wrapper .gform_fields .gfield .ginput_container.gf_name_has_2 {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        .gform_wrapper .gform_fields .gfield .ginput_container.gf_name_has_2 > span {
          -webkit-flex: 0 0 49%;
              -ms-flex: 0 0 49%;
                  flex: 0 0 49%; }
          .gform_wrapper .gform_fields .gfield .ginput_container.gf_name_has_2 > span label {
            display: none; }
      .gform_wrapper .gform_fields .gfield .ginput_container input {
        height: 2.5625rem; }
      .gform_wrapper .gform_fields .gfield .ginput_container input, .gform_wrapper .gform_fields .gfield .ginput_container select, .gform_wrapper .gform_fields .gfield .ginput_container textarea {
        margin-bottom: 0;
        box-shadow: none;
        border-color: #DDDDDD;
        border-radius: 2px;
        color: #555555; }
      .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio {
        display: block; }
        .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_checkbox, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_radio, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_checkbox, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_radio {
          margin-left: 0; }
          .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_checkbox li, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_radio li, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_checkbox li, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_radio li {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            list-style: none;
            -webkit-align-items: flex-start;
                -ms-flex-align: start;
                    align-items: flex-start;
            margin-bottom: 0; }
            .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_checkbox li label, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_radio li label, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_checkbox li label, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_radio li label {
              text-align: left;
              font-size: 1rem;
              max-width: 100%;
              margin-left: 0.5rem;
              margin-right: 1rem; }
              .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_checkbox li label a, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_radio li label a, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_checkbox li label a, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_radio li label a {
                color: #546776;
                font-weight: bold;
                text-decoration: underline; }
            .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_checkbox li input, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_checkbox .gfield_radio li input, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_checkbox li input, .gform_wrapper .gform_fields .gfield .ginput_container.ginput_container_radio .gfield_radio li input {
              height: auto;
              -webkit-flex: 0 0 auto;
                  -ms-flex: 0 0 auto;
                      flex: 0 0 auto;
              margin-top: 0.3125rem; }
    .gform_wrapper .gform_fields .gfield.gfield_visibility_hidden {
      display: none !important; }

.gform_wrapper .gform_footer {
  margin-top: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .gform_wrapper .gform_footer {
      text-align: right; } }
  .gform_wrapper .gform_footer .button {
    padding: 0.75rem 2rem 0.75rem 0.875rem;
    font-size: 0.9375rem;
    margin-bottom: 0.375rem; }

.gform_wrapper form .validation_error {
  display: inline-block;
  background-color: transparent;
  color: #CC2B17;
  font-weight: bold;
  font-size: 1rem; }

.gform_wrapper .form-wrapper__button-colour--yellow .button {
  color: #555555;
  background-color: #FBE71C; }
  .gform_wrapper .form-wrapper__button-colour--yellow .button:after {
    background-position: -121px -29px; }

.gform_wrapper .form-wrapper__button-colour--dark-green .button {
  background-color: #43B130; }

.gform_wrapper .form-wrapper__button-colour--green .button {
  background-color: #B9C400; }

.gform_wrapper .form-wrapper__button-colour--red .button {
  background-color: #CC2B17; }

.gform_wrapper .form-wrapper__button-colour--light-blue .button {
  background-color: #79B3E2; }

.gform_wrapper .form-wrapper__button-colour--dark-blue .button {
  background-color: #263689; }

.gform_wrapper .form-wrapper__button-colour--grey .button {
  background-color: #546776; }

.recaptcha-message {
  font-size: 0.5625rem;
  font-style: italic;
  color: #7b7b7b;
  margin: 0.625rem 0; }
  .recaptcha-message a {
    font-weight: 400 !important;
    text-decoration: underline; }

.spine-width-calculator {
  background-color: #B9C400;
  background-image: url("../images/spine-calculator-bg-image.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  margin-bottom: 1.875rem;
  padding: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .spine-width-calculator {
      padding: 1.875rem 3.75rem; } }
  .spine-width-calculator .gform_description {
    text-align: center; }
  .spine-width-calculator .gform_footer {
    display: none; }
  @media screen and (max-width: 50em) {
    .spine-width-calculator .gfield-spine-width-diagram {
      -webkit-order: -1;
          -ms-flex-order: -1;
              order: -1;
      margin-bottom: 1.875rem; }
      .spine-width-calculator .gfield-spine-width-diagram .spine-width-diagram {
        text-align: center; } }
  .spine-width-calculator .gform_fields {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .spine-width-calculator .gform_fields .gfield {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      width: 100%; }
      .spine-width-calculator .gform_fields .gfield .ginput_container {
        width: 100%; }
        @media screen and (min-width: 50em) {
          .spine-width-calculator .gform_fields .gfield .ginput_container {
            width: 17.5rem; } }
        @media screen and (min-width: 64em) and (max-width: 74.9375em) {
          .spine-width-calculator .gform_fields .gfield .ginput_container {
            width: 100%; } }
      .spine-width-calculator .gform_fields .gfield a {
        color: #555555; }
      .spine-width-calculator .gform_fields .gfield .spine-calculator__download {
        position: relative;
        display: inline-block;
        font-weight: bold;
        font-size: 0.875rem;
        padding-left: 3.125rem;
        margin-top: 0.9375rem;
        width: 16.25rem; }
        @media print, screen and (min-width: 64em) {
          .spine-width-calculator .gform_fields .gfield .spine-calculator__download {
            margin-top: 2.8125rem; } }
        .spine-width-calculator .gform_fields .gfield .spine-calculator__download:before {
          content: '';
          position: absolute;
          left: 0;
          top: 0;
          display: inline-block;
          height: 2.4375rem;
          width: 1.75rem;
          background-image: url("../images/podw-sprite.svg");
          background-position: -322px -27px;
          background-repeat: no-repeat;
          text-indent: 100%;
          white-space: nowrap;
          overflow: hidden;
          background-size: 482px 66px; }
        @media print, screen and (min-width: 40em) {
          .spine-width-calculator .gform_fields .gfield .spine-calculator__download {
            margin-top: 0; } }
        @media print, screen and (min-width: 64em) {
          .spine-width-calculator .gform_fields .gfield .spine-calculator__download {
            margin-top: 3.75rem; } }
        @media screen and (min-width: 75em) {
          .spine-width-calculator .gform_fields .gfield .spine-calculator__download {
            margin-top: 0; } }
      .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        @media screen and (min-width: 50em) {
          .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram {
            position: absolute;
            right: 0;
            top: 0;
            width: 50%; } }
        @media screen and (min-width: 64em) and (max-width: 74.9375em) {
          .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram {
            position: relative;
            width: 100%; } }
        @media screen and (min-width: 75em) {
          .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram {
            width: 45%; } }
        @media screen and (min-width: 90em) {
          .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram {
            width: 60%; } }
        .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram .spine-width-diagram {
          position: relative; }
          .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram .spine-width-diagram .spine-width-value-wrap {
            background-color: #546776;
            color: #ffffff;
            position: absolute;
            left: 50%;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            bottom: -1.875rem;
            font-size: 0.875rem;
            padding: 0.3125rem 0.9375rem;
            min-width: 11.25rem;
            text-align: center; }
            .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram .spine-width-diagram .spine-width-value-wrap:before {
              content: '';
              position: absolute;
              top: 0;
              left: 50%;
              width: 0;
              height: 0;
              border: 8px solid transparent;
              border-bottom-color: #546776;
              border-top: 0;
              margin-left: -8px;
              margin-top: -8px; }
            .spine-width-calculator .gform_fields .gfield.gfield-spine-width-diagram .spine-width-diagram .spine-width-value-wrap .spine-width-value {
              display: block;
              font-size: 1.75rem;
              font-weight: bold; }

.hero-landing-banner .gform_wrapper .gform_fields .gfield .validation_message, .hero-landing-banner .gform_wrapper .gform_fields .gfield .ginput_container {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }

.hero-landing-banner .errorMessages {
  margin-bottom: 0; }

.gform_wrapper .validation_error {
  color: #ffffff;
  background-color: #CC2B17;
  margin-bottom: 0.9375rem;
  padding: 0.375rem;
  clear: both;
  font-family: "proxima-nova", sans-serif, "Helvetica Neue", Helvetica, Roboto, Arial;
  font-size: 0.875rem; }

.gform_wrapper .gform_fields {
  margin-left: 0;
  margin-bottom: 0;
  padding-right: 0 !important; }

.gform_wrapper .gfield .validation_message {
  background-color: #CC2B17;
  color: #ffffff;
  clear: both;
  top: 0.3125rem;
  position: relative;
  text-align: left;
  font-size: 0.875rem;
  padding: 0.3125rem 0.3125rem 0.3125rem 0.9375rem; }
  .gform_wrapper .gfield .validation_message:before {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #ffffff;
    content: ' ';
    top: -11px;
    position: relative;
    left: -10px; }

.gform_wrapper .gform_validation_container {
  display: none; }

.gform_wrapper .gfield_checkbox {
  margin: 0; }
  .gform_wrapper .gfield_checkbox li {
    list-style: none; }

.gform_confirmation_wrapper {
  padding: 1.875rem;
  background-color: #79B3E2;
  color: #ffffff; }

.services-overview-header {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .services-overview-header {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  .services-overview-header .services__item {
    border-right: 1px solid rgba(193, 193, 193, 0.35); }
    @media print, screen and (min-width: 40em) {
      .services-overview-header .services__item {
        -webkit-flex: 0 0 20%;
            -ms-flex: 0 0 20%;
                flex: 0 0 20%; } }
    .services-overview-header .services__item:last-child .service__item-group .service-step-label {
      display: none; }
    .services-overview-header .services__item:last-child .service__item-group:after {
      display: none; }
    .services-overview-header .services__item .service__item-group {
      position: relative;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0.9375rem 0;
      transition: opacity .2s ease-in-out; }
      .services-overview-header .services__item .service__item-group .service-step-label {
        background-color: #546776 !important;
        position: absolute;
        right: -3.75rem;
        top: 5rem;
        padding-right: 0.9375rem !important;
        font-size: 0.6875rem !important; }
        @media screen and (max-width: 74.9375em) {
          .services-overview-header .services__item .service__item-group .service-step-label {
            display: none !important; } }
        @media screen and (min-width: 90em) {
          .services-overview-header .services__item .service__item-group .service-step-label {
            font-size: 0.8125rem; } }
        .services-overview-header .services__item .service__item-group .service-step-label:after {
          content: '';
          position: absolute;
          right: -0.8125rem;
          top: 50%;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%);
          width: 0;
          height: 100%;
          border-top: 16px solid transparent;
          border-bottom: 16px solid transparent;
          border-left: 16px solid #546776; }
      .services-overview-header .services__item .service__item-group:hover {
        opacity: 0.7; }
      @media print, screen and (min-width: 64em) {
        .services-overview-header .services__item .service__item-group {
          padding: 2.8125rem 0; } }
      .services-overview-header .services__item .service__item-group .service__item-group__icon {
        width: 6.75rem;
        margin-bottom: 0.9375rem;
        z-index: 2; }
        @media screen and (max-width: 39.9375em) {
          .services-overview-header .services__item .service__item-group .service__item-group__icon {
            display: none !important; } }
        @media print, screen and (min-width: 40em) {
          .services-overview-header .services__item .service__item-group .service__item-group__icon {
            width: 5rem; } }
        @media print, screen and (min-width: 64em) {
          .services-overview-header .services__item .service__item-group .service__item-group__icon {
            width: 6.75rem; } }
      .services-overview-header .services__item .service__item-group .service__item-group__label {
        font-size: 1.625rem; }
        @media print, screen and (min-width: 40em) {
          .services-overview-header .services__item .service__item-group .service__item-group__label {
            font-size: 1rem; } }
        @media print, screen and (min-width: 64em) {
          .services-overview-header .services__item .service__item-group .service__item-group__label {
            font-size: 1.375rem; } }
        @media screen and (min-width: 75em) {
          .services-overview-header .services__item .service__item-group .service__item-group__label {
            font-size: 1.625rem; } }
    .services-overview-header .services__item .service__item-type {
      display: block;
      text-transform: uppercase;
      font-weight: bold;
      font-size: 0.9375rem;
      color: #546776;
      text-align: center;
      background-color: #E9E9E9;
      padding: 0.9375rem 0; }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .services-overview-header .services__item .service__item-type {
          display: none !important; } }
    @media print, screen and (min-width: 40em) {
      .services-overview-header .services__item.services__item--publishers {
        -webkit-flex: 0 0 60%;
            -ms-flex: 0 0 60%;
                flex: 0 0 60%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
        .services-overview-header .services__item.services__item--publishers .service__item-group {
          -webkit-flex: 1 0 31%;
              -ms-flex: 1 0 31%;
                  flex: 1 0 31%; }
        .services-overview-header .services__item.services__item--publishers .service__item-type {
          -webkit-flex: 0 0 100%;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%; } }

.search .hero-content__search-form {
  margin-top: 1.40625rem;
  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 print, screen and (min-width: 64em) {
    .search .hero-content__search-form {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .search .hero-content__search-form .input-group {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .search .hero-content__search-form input[type='text'] {
    width: 18.75rem;
    background-color: transparent;
    border-top: none;
    border-left: none;
    border-right: none;
    box-shadow: none;
    color: #ffffff;
    border-color: #ffffff;
    border-width: 2px; }
    @media print, screen and (min-width: 64em) {
      .search .hero-content__search-form input[type='text'] {
        width: 25rem; } }
  .search .hero-content__search-form input::-webkit-input-placeholder {
    color: #ffffff !important; }
  .search .hero-content__search-form input:-moz-placeholder {
    color: #ffffff !important; }
  .search .hero-content__search-form input::-moz-placeholder {
    color: #ffffff !important; }
  .search .hero-content__search-form input:-ms-input-placeholder {
    color: #ffffff !important; }
  .search .hero-content__search-form .button {
    background-color: #B9C400;
    border-radius: 4px;
    min-width: 11.25rem;
    padding: 0 0.9375rem; }
    .search .hero-content__search-form .button:hover {
      background-color: #ffffff;
      color: #B9C400; }
  .search .hero-content__search-form .input-group-button {
    position: relative;
    margin-top: 1.875rem; }
    .search .hero-content__search-form .input-group-button:after {
      content: '';
      position: absolute;
      display: inline-block;
      height: 0.5625rem;
      width: 0.3125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -97px -29px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px;
      right: 0.625rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      transition: right .2s ease-in-out; }
    .search .hero-content__search-form .input-group-button:hover:after {
      right: 0.3125rem;
      display: inline-block;
      height: 0.5625rem;
      width: 0.3125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -121px -29px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }

.search .search-results .result-item .result-item__title {
  margin-top: 0; }

#react-root {
  min-height: 25rem; }
  @media print, screen and (min-width: 64em) {
    #react-root {
      min-height: 37.5rem; } }

.image-modal, .content-modal {
  width: 100%;
  height: 100%;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  outline: 0; }
  .image-modal[aria-hidden="false"], .content-modal[aria-hidden="false"] {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .image-modal[aria-hidden="false"] .modal-close-trigger, .content-modal[aria-hidden="false"] .modal-close-trigger {
      top: -2.5rem;
      opacity: 1; }
    .image-modal[aria-hidden="false"] .image-modal__inner, .image-modal[aria-hidden="false"] .content-modal__inner, .content-modal[aria-hidden="false"] .image-modal__inner, .content-modal[aria-hidden="false"] .content-modal__inner {
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1); }
    .image-modal[aria-hidden="false"] .content-modal__grid, .content-modal[aria-hidden="false"] .content-modal__grid {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      min-height: 80vh;
      min-width: 80vw; }
  .image-modal .image-modal__inner, .image-modal .content-modal__inner, .content-modal .image-modal__inner, .content-modal .content-modal__inner {
    position: relative;
    background-color: #ffffff;
    padding: 0.9375rem;
    margin-top: 2.8125rem;
    box-shadow: 0 2px 30px rgba(0, 0, 0, 0.83);
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
    .image-modal .image-modal__inner .image-container, .image-modal .content-modal__inner .image-container, .content-modal .image-modal__inner .image-container, .content-modal .content-modal__inner .image-container {
      position: relative;
      text-align: center; }
      .image-modal .image-modal__inner .image-container img, .image-modal .content-modal__inner .image-container img, .content-modal .image-modal__inner .image-container img, .content-modal .content-modal__inner .image-container img {
        max-height: 50rem; }
    .image-modal .image-modal__inner .image-modal__inner-caption, .image-modal .content-modal__inner .image-modal__inner-caption, .content-modal .image-modal__inner .image-modal__inner-caption, .content-modal .content-modal__inner .image-modal__inner-caption {
      margin-top: 0.9375rem; }
      .image-modal .image-modal__inner .image-modal__inner-caption p, .image-modal .content-modal__inner .image-modal__inner-caption p, .content-modal .image-modal__inner .image-modal__inner-caption p, .content-modal .content-modal__inner .image-modal__inner-caption p {
        margin-bottom: 0; }
  .image-modal .modal-close-trigger, .content-modal .modal-close-trigger {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    transition: top .2s ease-in-out .2s, opacity .2s ease-in-out;
    display: inline-block;
    height: 1.5625rem;
    width: 1.5625rem;
    background-image: url("../images/podw-sprite.svg");
    background-position: -166px -23px;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: 482px 66px; }

.reveal-overlay {
  background-color: rgba(29, 29, 29, 0.8); }

@-webkit-keyframes kenburns {
  0% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4); }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes kenburns {
  0% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4); }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.animate-start-hidden {
  opacity: 0; }
  .animate-start-hidden.animated {
    transition: opacity 0.9s ease-in;
    opacity: 1; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated-slow {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.delay-1 {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s; }

.delay-2 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s; }

.delay-3 {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s; }

.delay-4 {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s; }

.delay-5 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s; }

.delay-6 {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s; }

.delay-7 {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s; }

.delay-8 {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s; }

.delay-9 {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s; }

.delay-10 {
  -webkit-animation-delay: 2s;
  animation-delay: 2s; }

.delay-11 {
  -webkit-animation-delay: 2.2s;
  animation-delay: 2.2s; }

.delay-12 {
  -webkit-animation-delay: 2.4s;
  animation-delay: 2.4s; }

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px); } }

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce; }

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); } }

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px); } }

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

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0); } }

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%); } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -ms-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    transform: scale(0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

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

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

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

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

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

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

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

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1); }
  0%, 40% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95); }
  80%, 100% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1); }
  0%, 40% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95); }
  80%, 100% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0);
    transform: perspective(400px) rotateX(0);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0);
    -ms-transform: perspective(400px) rotateX(0);
    transform: perspective(400px) rotateX(0);
    opacity: 1; } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    opacity: 1; } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0);
    transform: perspective(400px) rotateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0);
    -ms-transform: perspective(400px) rotateX(0);
    transform: perspective(400px) rotateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0);
    transform: translateX(0%) skewX(0);
    opacity: 1; } }

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0);
    -ms-transform: translateX(0%) skewX(0);
    transform: translateX(0%) skewX(0);
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0);
    transform: translateX(0%) skewX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0);
    -ms-transform: translateX(0%) skewX(0);
    transform: translateX(0%) skewX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: center center;
    transform-origin: center center; }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center; }
  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom; }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom; }
  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom; }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom; }
  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom; }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom; }
  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom; }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  0%, 100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom; }
  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: center center;
    transform-origin: center center; }
  100% {
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center; }
  100% {
    -webkit-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom; }
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom; }
  100% {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom; }
  100% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom; }
  100% {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom; }
  100% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom; }
  100% {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom; }
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  0%, 100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom; }
  100% {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

@keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  0%, 20%, 60% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg); }
  40% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg); }
  40%, 80% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0); }
  0%, 20%, 60% {
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    transform: rotate(80deg); }
  40% {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg); }
  40%, 80% {
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(700px);
    -ms-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    -ms-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0); } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    -ms-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    -ms-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/* new ani */
.animated-bounce {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-iteration-count: 6;
  -webkit-animation-iteration-count: 6; }

@-webkit-keyframes bounce-loop {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px); } }

@keyframes bounce-loop {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px); } }

.bounce-loop {
  -webkit-animation-name: bounce-loop;
  animation-name: bounce-loop; }

.button-colour--orange .button {
  background-color: #DCAF01; }

.button-colour--green .button {
  background-color: #B9C400; }

.button-colour--yellow .button {
  color: #555555;
  background-color: #FBE71C; }
  .button-colour--yellow .button:after {
    background-position: -121px -29px; }

.button-colour--dark-green .button {
  background-color: #43B130; }

.button-colour--green .button {
  background-color: #B9C400; }

.button-colour--red .button {
  background-color: #CC2B17; }

.button-colour--light-blue .button {
  background-color: #79B3E2; }

.button-colour--dark-blue .button {
  background-color: #263689; }

.label-strip, .services-overview-header .services__item .service__item-group .service-step-label, table.bookpublisher-packages thead th span.thead__inner.thead__inner--most-popular:before, .landscape-cards .card-item .card-item__image .card-item__image-badge {
  display: inline-block;
  text-transform: uppercase;
  font-weight: bold;
  color: #ffffff;
  font-size: 0.8125rem;
  padding: 0.1875rem 0.625rem;
  background-color: #B9C400;
  letter-spacing: 1px; }
  .label-strip.label-strip--dark-green, .services-overview-header .services__item .service__item-group .label-strip--dark-green.service-step-label, table.bookpublisher-packages thead th span.label-strip--dark-green.thead__inner.thead__inner--most-popular:before, .landscape-cards .card-item .card-item__image .label-strip--dark-green.card-item__image-badge {
    background-color: #43B130; }
  .label-strip.label-strip--orange, .services-overview-header .services__item .service__item-group .label-strip--orange.service-step-label, table.bookpublisher-packages thead th span.label-strip--orange.thead__inner.thead__inner--most-popular:before, .landscape-cards .card-item .card-item__image .label-strip--orange.card-item__image-badge {
    background-color: #DCAF01; }
  .label-strip.label-strip--yellow, .services-overview-header .services__item .service__item-group .label-strip--yellow.service-step-label, table.bookpublisher-packages thead th span.label-strip--yellow.thead__inner.thead__inner--most-popular:before, .landscape-cards .card-item .card-item__image .label-strip--yellow.card-item__image-badge {
    background-color: #FBE71C;
    color: #555555; }
  .label-strip.label-strip--dark-blue, .services-overview-header .services__item .service__item-group .label-strip--dark-blue.service-step-label, table.bookpublisher-packages thead th span.label-strip--dark-blue.thead__inner.thead__inner--most-popular:before, .landscape-cards .card-item .card-item__image .label-strip--dark-blue.card-item__image-badge {
    background-color: #263689; }
  .label-strip.label-strip--light-blue, .services-overview-header .services__item .service__item-group .label-strip--light-blue.service-step-label, table.bookpublisher-packages thead th span.label-strip--light-blue.thead__inner.thead__inner--most-popular:before, .landscape-cards .card-item .card-item__image .label-strip--light-blue.card-item__image-badge {
    background-color: #79B3E2; }
  .label-strip.label-strip--red, .services-overview-header .services__item .service__item-group .label-strip--red.service-step-label, table.bookpublisher-packages thead th span.label-strip--red.thead__inner.thead__inner--most-popular:before, .landscape-cards .card-item .card-item__image .label-strip--red.card-item__image-badge {
    background-color: #CC2B17; }
  .label-strip.label-strip--grey, .services-overview-header .services__item .service__item-group .label-strip--grey.service-step-label, table.bookpublisher-packages thead th span.label-strip--grey.thead__inner.thead__inner--most-popular:before, .landscape-cards .card-item .card-item__image .label-strip--grey.card-item__image-badge {
    background-color: #546776;
    color: #ffffff; }

.remove-margin-bottom {
  margin-bottom: 0 !important; }

.remove-margin-top {
  margin-top: 0 !important; }

.remove-padding-top, .bg-grey.remove-padding-top {
  padding-top: 0 !important; }

.remove-padding-bottom, .bg-grey.remove-padding-bottom {
  padding-bottom: 0 !important; }

.remove-padding-left {
  padding-left: 0 !important; }
  .remove-padding-left.bg-grey {
    padding-left: 0 !important; }

.remove-padding-right {
  padding-right: 0 !important; }
  .remove-padding-right.bg-grey {
    padding-right: 0 !important; }

.font-weight--light {
  font-weight: 300 !important; }

ul.statistics-list, ul.tick-list {
  margin-left: 0; }
  ul.statistics-list li, ul.tick-list li {
    list-style: none;
    position: relative;
    padding-left: 2.5rem; }
    ul.statistics-list li h3, ul.statistics-list li h4, ul.statistics-list li h5, ul.tick-list li h3, ul.tick-list li h4, ul.tick-list li h5 {
      margin-bottom: 0.625rem; }
    ul.statistics-list li:last-child, ul.tick-list li:last-child {
      margin-bottom: 0; }
    ul.statistics-list li:before, ul.tick-list li:before {
      content: '';
      display: inline-block;
      height: 1.5625rem;
      width: 1.5rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: 0px -42px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px;
      position: absolute;
      left: 0;
      top: 0; }

.tick-list.centered-list-without-bullets li {
  padding-left: 0; }
  .tick-list.centered-list-without-bullets li:before {
    display: none; }

.tick-list--small {
  margin-left: 0; }
  .tick-list--small li {
    position: relative;
    margin-bottom: 0;
    list-style: none;
    padding-left: 1.875rem; }
    .tick-list--small li:before {
      content: '';
      display: inline-block;
      height: 0.75rem;
      width: 1rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -380px -33px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px;
      position: absolute;
      left: 0;
      top: 0.375rem; }

@media screen and (max-width: 63.9375em) {
  .text-area-remove-list-margin .statistics-list, .text-area-remove-list-margin .tick-list {
    margin-bottom: 0; } }

.text-area-remove-list-margin .text-area {
  margin-top: 0 !important; }

.tick-list-wrapper {
  text-align: left;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 40em) {
    .tick-list-wrapper {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .tick-list-wrapper .statistics-list, .tick-list-wrapper .tick-list {
    margin-bottom: 0; }
    @media print, screen and (min-width: 64em) {
      .tick-list-wrapper .statistics-list, .tick-list-wrapper .tick-list {
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; } }
    @media print, screen and (min-width: 40em) {
      .tick-list-wrapper .statistics-list:first-child, .tick-list-wrapper .tick-list:first-child {
        margin-right: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .tick-list-wrapper .statistics-list:first-child, .tick-list-wrapper .tick-list:first-child {
        margin-right: 1.875rem; } }
    .tick-list-wrapper .statistics-list li:last-child, .tick-list-wrapper .tick-list li:last-child {
      margin-bottom: 0.9375rem; }

.h2, .h3, .h4 {
  line-height: 1.4;
  margin-top: 1.5625rem;
  margin-bottom: 1.5625rem;
  font-weight: 700; }

.h2 {
  font-size: 1.625rem; }
  @media print, screen and (min-width: 40em) {
    .h2 {
      font-size: 1.625rem; } }
  @media print, screen and (min-width: 64em) {
    .h2 {
      font-size: 2rem; } }

.h3 {
  font-size: 1.25rem; }
  @media print, screen and (min-width: 64em) {
    .h3 {
      font-size: 2rem; } }

.h4 {
  font-size: 1.125rem; }
  @media print, screen and (min-width: 64em) {
    .h4 {
      font-size: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  .text-area-vertically-centered .text-with-image__text-area {
    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;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; } }

@media print {
  a:after {
    display: none; }
  .button {
    display: none; }
  .preheader .preader__search-container {
    display: none; }
  .top-bar-container {
    border-bottom: 1px solid #DDDDDD;
    border-top: 1px solid #DDDDDD;
    padding: 0.9375rem 0; }
    .top-bar-container .top-bar {
      border-top: none;
      display: block;
      top: 0 !important; }
      .top-bar-container .top-bar .desktop-menu {
        display: none; }
  .service-header {
    display: none; }
  .tabbar-container {
    display: none; }
  .hero-banner {
    min-height: 15rem;
    border-bottom: 1px solid #DDDDDD; }
  .service-banner-container {
    -webkit-filter: none !important;
            filter: none !important;
    border-bottom: 1px solid #DDDDDD; }
  .service-banner {
    min-height: 15rem !important; }
    .service-banner .service-banner__content-title {
      color: #555555;
      margin-bottom: 0; }
  .footer-container .footer {
    padding-bottom: 0; }
    .footer-container .footer .footer-menu {
      display: none; }
    .footer-container .footer .social-icons {
      display: none; }
    .footer-container .footer .footer-address {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      .footer-container .footer .footer-address .footer-address__details {
        margin-left: calc(8.33333% + 0.9375rem);
        padding-left: 0.3125rem; }
      .footer-container .footer .footer-address .footer-contact-form {
        display: none !important; }
    .footer-container .footer hr {
      display: none; }
  .footer-container .footer-details__badges {
    display: none; }
  .featured-article-container .featured-article {
    min-height: 15rem !important; }
  .widget_ftd_blog_widget_archive {
    display: none; }
  .widget_text .sidebar-contact {
    display: none; }
  .article__content-social {
    display: none; }
  .related-services .related-service .related-service__bg-container {
    display: none !important; } }

.image-slider .swiper-pagination {
  position: relative;
  margin-top: 1.40625rem; }
  .image-slider .swiper-pagination .swiper-pagination-bullet {
    height: 0.75rem;
    width: 0.75rem; }
    .image-slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
      background-color: #79B3E2; }

blockquote {
  position: relative;
  border-left: none;
  padding: 1.875rem 0;
  text-align: center;
  margin: 2.8125rem 0; }
  blockquote p {
    font-style: italic;
    color: #546776;
    font-size: 1.375rem !important;
    font-weight: bold; }
  blockquote:before, blockquote:after {
    content: '';
    border-top: 4px solid #546776;
    width: 5.625rem;
    height: 4px;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  blockquote:after {
    top: auto;
    bottom: 0; }

.notice-message {
  text-align: center;
  box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5);
  padding: 0.3125rem 0.625rem;
  margin-bottom: 1.875rem; }
  .notice-message p {
    margin-top: 1.875rem; }
    .notice-message p .button {
      margin-bottom: 0; }

table, table.tablepress {
  width: 100% !important; }
  table thead, table.tablepress thead {
    border: none; }
    table thead th, table.tablepress thead th {
      background-color: #ffffff !important;
      border-bottom: 1px solid #DDDDDD;
      text-align: left;
      font-size: 1rem; }
      @media print, screen and (min-width: 64em) {
        table thead th, table.tablepress thead th {
          font-size: 1.25rem; } }
  table .label-strip, table .services-overview-header .services__item .service__item-group .service-step-label, .services-overview-header .services__item .service__item-group table .service-step-label, table.bookpublisher-packages thead th span.thead__inner.thead__inner--most-popular:before, table .landscape-cards .card-item .card-item__image .card-item__image-badge, .landscape-cards .card-item .card-item__image table .card-item__image-badge, table.tablepress .label-strip, table.tablepress .services-overview-header .services__item .service__item-group .service-step-label, .services-overview-header .services__item .service__item-group table.tablepress .service-step-label, table.tablepress table.bookpublisher-packages thead th span.thead__inner.thead__inner--most-popular:before, table.bookpublisher-packages thead th table.tablepress span.thead__inner.thead__inner--most-popular:before, table.tablepress .landscape-cards .card-item .card-item__image .card-item__image-badge, .landscape-cards .card-item .card-item__image table.tablepress .card-item__image-badge {
    font-size: 0.6875rem;
    width: 100%;
    text-align: center; }
  table tbody, table.tablepress tbody {
    border: none; }
    table tbody td, table.tablepress tbody td {
      border: none;
      background-color: #ffffff;
      padding-top: 1.40625rem;
      padding-bottom: 1.40625rem;
      padding-left: 1.875rem;
      padding-right: 1.875rem;
      vertical-align: middle; }
      table tbody td:first-child, table.tablepress tbody td:first-child {
        padding-left: 0; }
      table tbody td span.no, table.tablepress tbody td span.no {
        line-height: 1;
        display: block;
        display: inline-block;
        height: 1.5625rem;
        width: 1.5625rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -215px 0px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }
      table tbody td span.yes, table.tablepress tbody td span.yes {
        line-height: 1;
        display: block;
        display: inline-block;
        height: 1.5625rem;
        width: 1.5625rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: 0px -42px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }
  table .service-icon-title-wrap, table.tablepress .service-icon-title-wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    table .service-icon-title-wrap .service-icon__text, table.tablepress .service-icon-title-wrap .service-icon__text {
      font-size: 0.875rem; }

.dataTables_scroll {
  position: relative;
  padding-top: 1.875rem; }
  .dataTables_scroll:before {
    content: '';
    position: absolute;
    top: -0.625rem;
    left: 50%;
    z-index: 2;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    display: inline-block;
    height: 2.1875rem;
    width: 1.5625rem;
    background-image: url("../images/podw-sprite.svg");
    background-position: -353px -31px;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: 482px 66px; }
    @media print, screen and (min-width: 64em) {
      .dataTables_scroll:before {
        display: none !important; } }

table.bookcycle-form thead th {
  text-align: center;
  width: 6.875rem !important;
  vertical-align: top; }
  table.bookcycle-form thead th.column-1, table.bookcycle-form thead th.column-2, table.bookcycle-form thead th.column-3 {
    text-align: left; }
  table.bookcycle-form thead th.column-2 {
    width: 23.75rem !important; }

table.bookcycle-form tbody {
  border: none; }
  table.bookcycle-form tbody td {
    text-align: center; }
    table.bookcycle-form tbody td.column-1, table.bookcycle-form tbody td.column-2, table.bookcycle-form tbody td.column-3 {
      text-align: left; }

.dataTables_scrollBody .thead__inner--most-popular:before {
  display: none !important; }

table.bookpublisher-packages thead th {
  position: relative;
  text-align: center;
  font-weight: 400;
  padding: 1.125rem 0 0 0;
  width: 20%; }
  @media print, screen and (min-width: 64em) {
    table.bookpublisher-packages thead th {
      font-size: 1.25rem; } }
  @media screen and (min-width: 75em) {
    table.bookpublisher-packages thead th {
      font-size: 1.5rem; } }
  table.bookpublisher-packages thead th span.thead__inner {
    display: block;
    background-color: #F3F3F3;
    padding: 0.25rem 0.5625rem; }
    table.bookpublisher-packages thead th span.thead__inner.thead__inner--bronze {
      background-color: #B0814D;
      color: #ffffff; }
    table.bookpublisher-packages thead th span.thead__inner.thead__inner--silver {
      background-color: #BBBBBB;
      color: #ffffff; }
    table.bookpublisher-packages thead th span.thead__inner.thead__inner--gold {
      background-color: #D9CA24;
      color: #ffffff; }
    table.bookpublisher-packages thead th span.thead__inner.thead__inner--most-popular:before {
      content: 'Most popular';
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-color: #43B130; }

table.bookpublisher-packages tbody {
  border: none; }
  table.bookpublisher-packages tbody td {
    border-bottom: 1px solid #DDDDDD;
    text-align: center;
    padding: 1.25rem;
    min-width: 12.5rem; }
    table.bookpublisher-packages tbody td:nth-child(even) {
      background-color: #F3F3F3; }
    table.bookpublisher-packages tbody td.column-1 {
      text-align: left;
      font-weight: 700; }
    table.bookpublisher-packages tbody td .table-value {
      font-size: 1.25rem; }
    table.bookpublisher-packages tbody td .button {
      background-color: #DCAF01;
      margin-bottom: 0;
      margin-top: 0.625rem;
      width: 100%;
      padding-top: 0.75rem;
      padding-bottom: 0.75rem; }
      @media print, screen and (min-width: 64em) {
        table.bookpublisher-packages tbody td .button {
          font-size: 0.9375rem; } }
  table.bookpublisher-packages tbody tr:last-child td {
    font-size: 1.125rem;
    border-bottom: none;
    background-color: #ffffff !important;
    padding: 0.9375rem; }
    @media print, screen and (min-width: 64em) {
      table.bookpublisher-packages tbody tr:last-child td {
        font-size: 1.25rem; } }
    @media screen and (min-width: 75em) {
      table.bookpublisher-packages tbody tr:last-child td {
        padding: 0.9375rem 1.875rem;
        font-size: 1.5rem; } }

#react-root .notice-message {
  margin-top: 1.875rem; }

.visions-block {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 40em) {
    .visions-block {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  .visions-block .vision-item {
    position: relative;
    background-color: #546776;
    color: #ffffff;
    overflow: hidden;
    border-bottom: 1px solid #ffffff;
    border-top: 1px solid #ffffff;
    text-align: left; }
    .visions-block .vision-item:before {
      content: '';
      position: absolute;
      right: -6.25rem;
      bottom: 3.125rem;
      height: 48.9375rem;
      width: 143.125rem;
      border-radius: 50%;
      opacity: 0.4;
      background-color: rgba(32, 32, 32, 0.15); }
      @media print, screen and (min-width: 64em) {
        .visions-block .vision-item:before {
          bottom: 9.375rem; } }
    @media print, screen and (min-width: 40em) {
      .visions-block .vision-item {
        -webkit-flex: 0 0 50%;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        min-height: 28.75rem;
        border: 1px solid #ffffff; } }
    @media print, screen and (min-width: 64em) {
      .visions-block .vision-item {
        -webkit-flex: 0 0 33%;
            -ms-flex: 0 0 33%;
                flex: 0 0 33%; } }
    .visions-block .vision-item .vision-item__inner {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      height: 100%;
      padding: 1.875rem; }
      @media print, screen and (min-width: 64em) {
        .visions-block .vision-item .vision-item__inner {
          padding: 0.9375rem; } }
      @media screen and (min-width: 75em) {
        .visions-block .vision-item .vision-item__inner {
          padding: 1.875rem; } }
      .visions-block .vision-item .vision-item__inner .vision-item__inner-title {
        margin-top: 0;
        text-transform: uppercase;
        font-size: 1.75rem; }
        @media print, screen and (min-width: 64em) {
          .visions-block .vision-item .vision-item__inner .vision-item__inner-title {
            font-size: 1.5rem; } }
        @media screen and (min-width: 75em) {
          .visions-block .vision-item .vision-item__inner .vision-item__inner-title {
            font-size: 2.5rem; } }
      .visions-block .vision-item .vision-item__inner .vision-item__icon {
        margin-bottom: 0.9375rem;
        max-height: 2.8125rem; }
      .visions-block .vision-item .vision-item__inner p {
        font-size: 1.25rem;
        font-weight: 700; }
        @media screen and (min-width: 75em) {
          .visions-block .vision-item .vision-item__inner p {
            font-size: 1.5rem; } }
        .visions-block .vision-item .vision-item__inner p:last-child {
          margin-bottom: 0; }
    .visions-block .vision-item.vision-item--green {
      background-color: #B9C400; }
    .visions-block .vision-item.vision-item--red {
      background-color: #CC2B17; }
    .visions-block .vision-item.vision-item--orange {
      background-color: #DCAF01; }
    .visions-block .vision-item.vision-item--light-blue {
      background-color: #79B3E2; }
    .visions-block .vision-item.vision-item--brown {
      background-color: #7F594B; }

.site-cta-links .cta-link__item {
  text-align: center;
  transition: -webkit-transform .1s ease-in-out;
  transition: transform .1s ease-in-out;
  transition: transform .1s ease-in-out, -webkit-transform .1s ease-in-out; }
  .site-cta-links .cta-link__item .cta-link__item-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 13px;
    text-transform: uppercase;
    color: #ffffff; }
  .site-cta-links .cta-link__item .cta-link__item-icon {
    display: inline-block;
    height: 1.375rem;
    width: 1.4375rem;
    background-image: url("../images/podw-sprite.svg");
    background-position: -444px -43px;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: 482px 66px;
    margin-bottom: 0.3125rem; }
  .site-cta-links .cta-link__item.cta-link__item--quote {
    background-color: #B9C400; }
  .site-cta-links .cta-link__item.cta-link__item--contact {
    background-color: #546776; }
    .site-cta-links .cta-link__item.cta-link__item--contact .cta-link__item-icon {
      display: inline-block;
      height: 1.375rem;
      width: 1.4375rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -394px -43px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
  .site-cta-links .cta-link__item.cta-link__item--brochure {
    background-color: #7F594B; }
    .site-cta-links .cta-link__item.cta-link__item--brochure .cta-link__item-icon {
      display: inline-block;
      height: 1.25rem;
      width: 1.5rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -419px -43px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }

.site-cta-links.site-cta-links--fixed {
  position: fixed;
  top: 15.625rem;
  right: 0;
  width: 5rem;
  z-index: 11; }
  .site-cta-links.site-cta-links--fixed .cta-link__item {
    display: block;
    padding: 0.9375rem 0.75rem 0.9375rem 0.125rem;
    -webkit-transform: translateX(10px);
        -ms-transform: translateX(10px);
            transform: translateX(10px); }
    .site-cta-links.site-cta-links--fixed .cta-link__item:hover {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); }
    .site-cta-links.site-cta-links--fixed .cta-link__item.cta-link__item--quote {
      display: none; }

.footer-container .site-cta-links {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (min-width: 64em) {
    .footer-container .site-cta-links {
      display: none !important; } }
  .footer-container .site-cta-links .cta-link__item {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    padding: 0.8125rem 0; }
    .footer-container .site-cta-links .cta-link__item.cta-link__item--quote {
      display: none; }

.lazyload,
.lazyloading {
  opacity: 0; }

.lazyloaded {
  opacity: 1;
  transition: opacity 300ms; }

.is-ie .process-diagram-container .content-section-right img {
  width: 100%; }

.is-ie .service-header .service-header__link:hover #service-header__logo #service-icon-title-landscape .service-icon {
  opacity: 1; }

.is-ie .product-list .product-item .product-item__image-container {
  overflow: auto; }
  .is-ie .product-list .product-item .product-item__image-container img {
    width: 17.5rem;
    transition: unset; }
  .is-ie .product-list .product-item .product-item__image-container:hover img {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); }

.is-ie .text-with-image .text-with-image__text-area-inner {
  max-width: 100%; }

.is-ie .home-services-section-wrapper {
  -webkit-filter: none;
          filter: none; }

.is-ie .service-banner, .is-ie .service-banner-container {
  box-shadow: none; }

.is-ie.ie-10 .home-services-section {
  min-height: auto; }
  .is-ie.ie-10 .home-services-section .services__item .service__item-group .service-description {
    display: none; }

.is-safari .animate-start-hidden {
  opacity: 1 !important; }

body #moove_gdpr_cookie_info_bar {
  min-height: 15.625rem;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  body #moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme {
    background-color: #202020;
    border-top: none; }
  body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p {
        font-size: 1.125rem;
        line-height: 1.625rem; }
      body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        text-align: center;
        margin-bottom: 20px; }
      body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: row-reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0; }
        body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder button.mgbutton {
          font-size: 1rem; }
          body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder button.mgbutton.moove-gdpr-infobar-reject-btn {
            background-color: #546776;
            color: white;
            opacity: 1;
            box-shadow: none; }
            body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder button.mgbutton.moove-gdpr-infobar-reject-btn:hover {
              background-color: #3f4d58;
              color: white; }
          body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder button.mgbutton.moove-gdpr-infobar-allow-all {
            background-color: #B9C400;
            color: white; }
            body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder button.mgbutton.moove-gdpr-infobar-allow-all:hover {
              background-color: #899100;
              color: white; }

.home-slider {
  position: relative; }
  .home-slider .slider-links {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 1.875rem;
    bottom: 1.25rem;
    z-index: 3; }
    @media screen and (max-width: 63.9375em) {
      .home-slider .slider-links {
        display: none !important; } }
    .home-slider .slider-links .slider-link-item {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-flex: 0 0 6.25rem;
          -ms-flex: 0 0 6.25rem;
              flex: 0 0 6.25rem;
      width: 6.25rem;
      list-style: none;
      color: #ffffff;
      text-align: center;
      transition: opacity .2s ease-in-out; }
      .home-slider .slider-links .slider-link-item .slider-link__icon-container {
        display: inline-block;
        width: 4.125rem;
        height: 4.125rem;
        margin-bottom: 0.625rem;
        border-radius: 1000px;
        box-shadow: 0 0 20px 0 rgba(63, 63, 63, 0.5); }
      .home-slider .slider-links .slider-link-item:hover {
        opacity: .8; }
      .home-slider .slider-links .slider-link-item span {
        display: inline-block;
        text-transform: uppercase;
        font-weight: bold;
        font-size: 0.8125rem;
        line-height: 1;
        max-width: 100%; }
  .home-slider .swiper-wrapper {
    height: 100%; }
  .home-slider .slide-item {
    position: relative;
    background-size: cover;
    background-position: center center;
    min-height: 22.5rem;
    background-blend-mode: multiply;
    background-color: #959595;
    background-repeat: no-repeat;
    height: auto; }
    .home-slider .slide-item .slide-items-3-col-container {
      height: 100%; }
      .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col {
        height: 100%; }
        .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col {
          position: relative;
          background-size: cover;
          background-position: center center; }
          .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item__content {
            padding: 1.25rem; }
            @media print, screen and (min-width: 40em) {
              .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item__content {
                padding: 3.75rem 1.25rem; } }
            .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item__content .slide-item__content-title-wrapper,
            .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item__content .slider-item__content-text {
              text-align: center; }
            .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item__content .slide-item__content-service {
              display: block;
              text-align: center; }
              @media screen and (max-width: 39.9375em) {
                .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item__content .slide-item__content-service {
                  display: none !important; } }
              .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item__content .slide-item__content-service img {
                width: 5.625rem;
                margin: 0 0 1.25rem 0; }
                @media screen and (min-width: 75em) {
                  .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item__content .slide-item__content-service img {
                    width: 7.8125rem;
                    margin: 0 0 1.875rem 0; } }
          .home-slider .slide-item .slide-items-3-col-container .slide-items-3-col .slide-item-3-col .slide-item-3-col__overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.4); }
    .home-slider .slide-item .slide-item__content-service {
      overflow: hidden; }
      .home-slider .slide-item .slide-item__content-service img {
        -webkit-transform: scale(0);
            -ms-transform: scale(0);
                transform: scale(0);
        -webkit-transform-origin: center center;
            -ms-transform-origin: center center;
                transform-origin: center center;
        transition: -webkit-transform .2s ease-in-out .2s;
        transition: transform .2s ease-in-out .2s;
        transition: transform .2s ease-in-out .2s, -webkit-transform .2s ease-in-out .2s;
        z-index: 2;
        opacity: 1; }
      .home-slider .slide-item .slide-item__content-service .service-label-container {
        overflow: hidden; }
        .home-slider .slide-item .slide-item__content-service .service-label-container span:first-child {
          display: inline-block;
          -webkit-transform: translateX(-100%);
              -ms-transform: translateX(-100%);
                  transform: translateX(-100%);
          transition: -webkit-transform .2s ease-in-out .3s;
          transition: transform .2s ease-in-out .3s;
          transition: transform .2s ease-in-out .3s, -webkit-transform .2s ease-in-out .3s; }
    .home-slider .slide-item .slide-item__content-title-wrapper {
      overflow: hidden; }
    .home-slider .slide-item .slide-item__content-title {
      opacity: 0;
      -webkit-transform: translateY(25px);
          -ms-transform: translateY(25px);
              transform: translateY(25px);
      transition: all .2s ease-in .4s;
      -webkit-animation-fill-mode: both;
              animation-fill-mode: both; }
    .home-slider .slide-item .slider-item__content-text {
      overflow: hidden; }
      .home-slider .slide-item .slider-item__content-text .slider-item__content-text__inner {
        opacity: 0;
        -webkit-transform: translateY(25px);
            -ms-transform: translateY(25px);
                transform: translateY(25px);
        transition: all .2s ease-in .5s;
        -webkit-animation-fill-mode: both;
                animation-fill-mode: both; }
    .home-slider .slide-item.swiper-slide-active .slide-item__content-service img {
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1); }
    .home-slider .slide-item.swiper-slide-active .slide-item__content-service .service-label-container span:first-child {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); }
    .home-slider .slide-item.swiper-slide-active .slide-item__content-title {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
    .home-slider .slide-item.swiper-slide-active .slider-item__content-text__inner {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
    .is-ie .home-slider .slide-item:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 100%;
      opacity: 0.3;
      background-color: #0a0a0a; }
    @media print, screen and (min-width: 64em) {
      .home-slider .slide-item {
        min-height: 37.5rem;
        background-color: #BABABA; } }
    .home-slider .slide-item .slide-item__content {
      padding: 1.875rem 1.40625rem;
      color: #ffffff;
      text-align: center; }
      @media print, screen and (min-width: 64em) {
        .home-slider .slide-item .slide-item__content {
          text-align: left; } }
      .home-slider .slide-item .slide-item__content p {
        font-weight: bold;
        font-size: 1.125rem; }
        @media print, screen and (min-width: 40em) {
          .home-slider .slide-item .slide-item__content p {
            font-size: 1.5rem; } }
      .home-slider .slide-item .slide-item__content .slide-item__content-title {
        font-size: 2.25rem;
        font-weight: 800;
        line-height: 1;
        margin-top: 0.9375rem; }
        @media print, screen and (min-width: 64em) {
          .home-slider .slide-item .slide-item__content .slide-item__content-title {
            font-size: 3.5rem; } }
        @media screen and (min-width: 75em) {
          .home-slider .slide-item .slide-item__content .slide-item__content-title {
            font-size: 4.5rem; } }
      @media print, screen and (min-width: 40em) {
        .home-slider .slide-item .slide-item__content .button {
          padding: 0.75rem 2rem 0.75rem 0.875rem;
          font-size: 0.9375rem; } }
      .home-slider .slide-item .slide-item__content .button--transparent, .home-slider .slide-item .slide-item__content .sidebar .service-sidebar .service-sidebar__content .button, .sidebar .service-sidebar .service-sidebar__content .home-slider .slide-item .slide-item__content .button, .home-slider .slide-item .slide-item__content .two-column-text-area .text-area .button, .two-column-text-area .text-area .home-slider .slide-item .slide-item__content .button, .home-slider .slide-item .slide-item__content .text-with-image .text-with-image__text-area .button, .text-with-image .text-with-image__text-area .home-slider .slide-item .slide-item__content .button, .home-slider .slide-item .slide-item__content .landscape-cards .card-item .card-item__content .button, .landscape-cards .card-item .card-item__content .home-slider .slide-item .slide-item__content .button, .home-slider .slide-item .slide-item__content .video-with-text .button, .video-with-text .home-slider .slide-item .slide-item__content .button {
        background-color: transparent !important;
        color: #ffffff;
        margin-left: 1.25rem; }
        .home-slider .slide-item .slide-item__content .button--transparent:after, .home-slider .slide-item .slide-item__content .sidebar .service-sidebar .service-sidebar__content .button:after, .sidebar .service-sidebar .service-sidebar__content .home-slider .slide-item .slide-item__content .button:after, .home-slider .slide-item .slide-item__content .two-column-text-area .text-area .button:after, .two-column-text-area .text-area .home-slider .slide-item .slide-item__content .button:after, .home-slider .slide-item .slide-item__content .text-with-image .text-with-image__text-area .button:after, .text-with-image .text-with-image__text-area .home-slider .slide-item .slide-item__content .button:after, .home-slider .slide-item .slide-item__content .landscape-cards .card-item .card-item__content .button:after, .landscape-cards .card-item .card-item__content .home-slider .slide-item .slide-item__content .button:after, .home-slider .slide-item .slide-item__content .video-with-text .button:after, .video-with-text .home-slider .slide-item .slide-item__content .button:after {
          background-position: -97px -29px; }
      .home-slider .slide-item .slide-item__content .slide-item__content-service {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        .home-slider .slide-item .slide-item__content .slide-item__content-service img {
          width: 3.125rem;
          margin-right: 0.9375rem; }
          @media screen and (max-width: 39.9375em) {
            .home-slider .slide-item .slide-item__content .slide-item__content-service img {
              margin: 0 auto 1.25rem auto;
              width: 5.625rem; } }
          @media screen and (min-width: 40em) and (max-width: 63.9375em) {
            .home-slider .slide-item .slide-item__content .slide-item__content-service img {
              margin: 0 auto 1.25rem auto;
              width: 7.8125rem; } }
          @media print, screen and (min-width: 64em) {
            .home-slider .slide-item .slide-item__content .slide-item__content-service img {
              width: 4.75rem; } }
        .home-slider .slide-item .slide-item__content .slide-item__content-service span {
          font-weight: bold;
          text-transform: uppercase; }
        .home-slider .slide-item .slide-item__content .slide-item__content-service .book {
          font-weight: normal;
          text-transform: none; }
        @media screen and (max-width: 63.9375em) {
          .home-slider .slide-item .slide-item__content .slide-item__content-service .service-label-container {
            -webkit-flex: 0 0 100%;
                -ms-flex: 0 0 100%;
                    flex: 0 0 100%; } }
  .home-slider .swiper-pagination {
    right: 2.8125rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    bottom: 1.5625rem;
    height: 0.5rem;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media print, screen and (min-width: 64em) {
      .home-slider .swiper-pagination {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        top: 0;
        left: auto;
        bottom: auto;
        width: 0.5rem;
        height: 100%; } }
    .home-slider .swiper-pagination .swiper-pagination-bullet {
      margin: 0 0.25rem;
      background-color: #ffffff; }
      @media print, screen and (min-width: 64em) {
        .home-slider .swiper-pagination .swiper-pagination-bullet {
          margin: 0.25rem 0; } }

.home-services-section-wrapper {
  -webkit-filter: drop-shadow(0px 10px 5px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0px 10px 5px rgba(0, 0, 0, 0.1)); }
  @media screen and (max-width: 39.9375em) {
    .home-services-section-wrapper {
      display: none !important; } }

.home-services-section-container {
  -webkit-clip-path: ellipse(100% 100% at 50% 0);
          clip-path: ellipse(100% 100% at 50% 0);
  background-color: #ffffff; }
  @media print, screen and (min-width: 64em) {
    .home-services-section-container {
      padding-bottom: 3.75rem; } }

.home-services-section {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media print, screen and (min-width: 64em) {
    .home-services-section {
      min-height: 24.375rem; } }
  @media screen and (min-width: 75em) {
    .home-services-section {
      min-height: 20.625rem; } }
  .home-services-section .services-section-heading {
    margin-top: 3.125rem;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    @media screen and (max-width: 63.9375em) {
      .home-services-section .services-section-heading {
        display: none !important; } }
  .home-services-section .services__item {
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    border-right: none;
    border-top: 13px solid #0a0a0a; }
    @media print, screen and (min-width: 64em) {
      .home-services-section .services__item .service__item-group {
        margin-top: 3.75rem !important;
        padding: 0 0.9375rem; } }
    @media screen and (min-width: 75em) {
      .home-services-section .services__item .service__item-group {
        padding: 0 1.875rem; } }
    .home-services-section .services__item .service__item-group .service-step-label {
      top: 1.875rem; }
      @media screen and (max-width: 74.9375em) {
        .home-services-section .services__item .service__item-group .service-step-label {
          display: none; } }
      @media screen and (min-width: 120em) {
        .home-services-section .services__item .service__item-group .service-step-label {
          right: -3.75rem; } }
    .home-services-section .services__item .service__item-group .service__item-group__icon-container {
      border-radius: 1000px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      margin-bottom: 0.9375rem;
      background-color: #ffffff;
      transition: all .2s ease-in-out; }
      @media screen and (max-width: 63.9375em) {
        .home-services-section .services__item .service__item-group .service__item-group__icon-container {
          display: none !important; } }
      .home-services-section .services__item .service__item-group .service__item-group__icon-container .service__item-group__icon {
        width: 6rem;
        margin-bottom: 0; }
    .home-services-section .services__item .service__item-group .service__item-group__label .book {
      display: none; }
      @media screen and (min-width: 50em) {
        .home-services-section .services__item .service__item-group .service__item-group__label .book {
          display: inline-block; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .home-services-section .services__item .service__item-group:focus {
        background-color: #F3F3F3; } }
    .home-services-section .services__item .service__item-group:focus .service__item-group__icon-container {
      height: 7.6875rem;
      width: 7.6875rem;
      border: 1px solid #F3F3F3;
      z-index: 2;
      -webkit-transform: translateY(-0.9375rem);
          -ms-transform: translateY(-0.9375rem);
              transform: translateY(-0.9375rem); }
    .home-services-section .services__item .service__item-group .service__item-group__label {
      font-weight: bold;
      text-transform: uppercase;
      font-size: 1.125rem; }
      .home-services-section .services__item .service__item-group .service__item-group__label .book {
        font-weight: normal;
        text-transform: none; }
    .home-services-section .services__item .service__item-group .service-description {
      max-width: 100%;
      text-align: center;
      margin-top: 0.9375rem;
      padding: 0 0.9375rem; }
      @media screen and (max-width: 63.9375em) {
        .home-services-section .services__item .service__item-group .service-description {
          display: none !important; } }

.services-overview-header.services-overview-header--remove-border {
  display: none;
  min-height: auto;
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .services-overview-header.services-overview-header--remove-border {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  .services-overview-header.services-overview-header--remove-border .services__item {
    border-top: none; }
    .services-overview-header.services-overview-header--remove-border .services__item .service__item-group {
      margin-top: 0 !important; }

.latest-posts-feed.portrait-cards {
  padding: 0; }
  .latest-posts-feed.portrait-cards .latest-posts-feed__title {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.9375rem;
    letter-spacing: 2.3px;
    margin-bottom: 0.9375rem; }

.latest-tweets-slider-container {
  margin-top: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .latest-tweets-slider-container {
      margin-top: 3.75rem; } }
  .latest-tweets-slider-container .latest-tweets-heading {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.9375rem;
    letter-spacing: 2.3px;
    margin-bottom: 0.9375rem; }
  .latest-tweets-slider-container .twitter-slider {
    margin-top: 1.875rem;
    padding-top: 3.75rem; }
    .latest-tweets-slider-container .twitter-slider:before {
      content: '';
      display: inline-block;
      height: 2rem;
      width: 2.4375rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -443px -6px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px;
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
    .latest-tweets-slider-container .twitter-slider .tweet-item .tweet-item-inner {
      padding: 0 1.875rem; }
      @media print, screen and (min-width: 64em) {
        .latest-tweets-slider-container .twitter-slider .tweet-item .tweet-item-inner {
          padding: 0 3.75rem; } }
    .latest-tweets-slider-container .twitter-slider .tweet-item .tweet-message {
      font-size: 1.125rem;
      font-style: italic;
      color: #546776; }
      @media print, screen and (min-width: 64em) {
        .latest-tweets-slider-container .twitter-slider .tweet-item .tweet-message {
          font-size: 1.5rem; } }
      .latest-tweets-slider-container .twitter-slider .tweet-item .tweet-message a {
        color: #1DA1F2;
        font-weight: 400; }
    .latest-tweets-slider-container .twitter-slider .tweet-item .tweet-details {
      font-weight: 700;
      font-size: 0.875rem; }
      @media print, screen and (min-width: 64em) {
        .latest-tweets-slider-container .twitter-slider .tweet-item .tweet-details {
          font-size: 1.125rem; } }
    .latest-tweets-slider-container .twitter-slider .swiper-button-prev {
      display: inline-block;
      height: 2.75rem;
      width: 1.125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -403px 0px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px;
      position: absolute;
      left: 0;
      top: 50%; }
    .latest-tweets-slider-container .twitter-slider .swiper-button-next {
      display: inline-block;
      height: 2.75rem;
      width: 1.125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -423px 0px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px;
      position: absolute;
      right: 0;
      top: 50%; }

.resource-categories {
  display: block;
  margin-top: 0.375rem; }
  .resource-categories span {
    display: inline-block;
    padding: 0.3125rem 0.5rem;
    background-color: #546776;
    color: #ffffff;
    font-size: 0.8125rem;
    text-transform: uppercase;
    line-height: 1;
    margin-right: 0.25rem;
    font-weight: bold; }
    .resource-categories span:last-child {
      margin-right: 0; }
    .resource-categories span.authors {
      background-color: #D9CA24; }

.resource-category-panels {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 64em) {
    .resource-category-panels {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin: 2.34375rem 0; } }
  .resource-category-panels .resource-category-panel {
    background-color: #ffffff;
    box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5);
    margin-bottom: 1.875rem; }
    .resource-category-panels .resource-category-panel:last-child {
      margin-bottom: 0; }
    @media print, screen and (min-width: 64em) {
      .resource-category-panels .resource-category-panel {
        -webkit-flex: 0 0 48%;
            -ms-flex: 0 0 48%;
                flex: 0 0 48%;
        margin-bottom: 0; } }
    .resource-category-panels .resource-category-panel .resource-category-panel__inner {
      padding: 1.875rem;
      text-align: center;
      border-top: 18px solid #546776; }
      .resource-category-panels .resource-category-panel .resource-category-panel__inner ul {
        margin-left: 0;
        margin-bottom: 0; }
        .resource-category-panels .resource-category-panel .resource-category-panel__inner ul li {
          list-style: none;
          font-weight: bold;
          margin-bottom: 0.9375rem; }
          .resource-category-panels .resource-category-panel .resource-category-panel__inner ul li:last-child {
            margin-bottom: 0; }
      .resource-category-panels .resource-category-panel .resource-category-panel__inner.authors {
        border-top: 18px solid #D9CA24; }
      .resource-category-panels .resource-category-panel .resource-category-panel__inner .category__title {
        margin-top: 0.5rem;
        border-bottom: 1px solid #DDDDDD;
        padding-bottom: 1.40625rem;
        margin-bottom: 1.875rem;
        font-size: 1.75rem; }
        @media print, screen and (min-width: 64em) {
          .resource-category-panels .resource-category-panel .resource-category-panel__inner .category__title {
            font-size: 2rem; } }
      .resource-category-panels .resource-category-panel .resource-category-panel__inner .category__top-resource-heading {
        font-weight: bold;
        text-transform: uppercase; }

.event-details {
  background-color: #546776;
  padding: 0.9375rem;
  margin-bottom: 1.875rem;
  color: #ffffff; }
  .event-details .event-details__ended {
    text-transform: uppercase;
    font-weight: bold; }
  .event-details .event-details__event-date {
    position: relative;
    display: inline-block;
    padding-left: 1.875rem; }
    .event-details .event-details__event-date:before {
      content: '';
      position: absolute;
      left: 0;
      display: inline-block;
      height: 1.25rem;
      width: 1.3125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -154px -1px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
  .event-details .event-details__event-time {
    position: relative;
    display: inline-block;
    padding-left: 1.875rem;
    margin-left: 0.9375rem; }
    .event-details .event-details__event-time:before {
      content: '';
      position: absolute;
      left: 0;
      display: inline-block;
      height: 1.25rem;
      width: 1.25rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -193px -1px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
  .event-details .event-details__event-address {
    position: relative;
    display: block;
    margin-top: 0.46875rem;
    padding-left: 1.875rem; }
    .event-details .event-details__event-address:before {
      content: '';
      position: absolute;
      left: 0;
      display: inline-block;
      height: 1.25rem;
      width: 1rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -175px -1px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }

.event-booking-information {
  background-color: #F3F3F3;
  padding: 0.9375rem;
  text-align: center;
  margin-bottom: 1.875rem; }
  .event-booking-information h2:first-child, .event-booking-information h3:first-child, .event-booking-information h4:first-child {
    margin-top: 0.9375rem; }
  .event-booking-information p:last-child {
    margin-bottom: 0; }

.bg-grey {
  background-color: #F3F3F3;
  padding: 2.8125rem 0.9375rem !important; }
  @media print, screen and (min-width: 64em) {
    .bg-grey {
      margin: 1.875rem 0; } }

.bg-light-grey {
  background-color: #F3F3F3; }
  @media print, screen and (min-width: 64em) {
    .bg-light-grey {
      margin: 1.875rem 0; } }

.section-intro {
  text-align: center;
  margin: 0 0 2.8125rem 0; }
  .section-intro .section-heading {
    margin-top: 0;
    margin-bottom: 0; }
  .section-intro p {
    margin-top: 1.875rem; }
  .section-intro p:last-child {
    margin-bottom: 0; }
  .section-intro a {
    font-weight: 700; }

ul li {
  margin-bottom: 0.9375rem; }

body {
  max-width: 120rem;
  margin: auto auto; }

@media screen and (max-width: 63.9375em) {
  .animate-me:not(.service-banner__content) {
    -webkit-animation-name: unset !important;
            animation-name: unset !important;
    transition: unset !important;
    opacity: 1 !important; } }

.hero-banner-container, .service-banner-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.hero-banner {
  position: relative;
  background-size: cover;
  background-position: center center;
  min-height: 11.25rem;
  background-blend-mode: multiply;
  background-color: #959595;
  padding: 1.875rem 0;
  margin-bottom: 0.9375rem; }
  .is-ie .hero-banner:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 100%;
    opacity: 0.3;
    background-color: #0a0a0a; }
  @media print, screen and (min-width: 40em) {
    .hero-banner {
      min-height: 14.375rem; } }
  @media print, screen and (min-width: 64em) {
    .hero-banner {
      min-height: 20.3125rem;
      background-color: #BABABA;
      box-shadow: 0 5px 25px 0 rgba(121, 121, 121, 0.5);
      margin-bottom: 2.8125rem; } }
  @media screen and (min-width: 90em) {
    .hero-banner {
      min-height: 27.0625rem; } }
  .hero-banner.hero-banner--smaller {
    min-height: 11.25rem; }
    @media print, screen and (min-width: 64em) {
      .hero-banner.hero-banner--smaller {
        padding: 2.8125rem 0; } }
  .hero-banner .hero-content {
    position: relative;
    z-index: 2;
    text-align: center; }
    .hero-banner .hero-content .hero-content__title {
      color: #ffffff;
      margin-top: 0;
      margin-bottom: 0;
      font-size: 2.625rem; }
      @media print, screen and (min-width: 40em) {
        .hero-banner .hero-content .hero-content__title {
          font-size: 3.5rem; } }
      @media print, screen and (min-width: 64em) {
        .hero-banner .hero-content .hero-content__title {
          font-size: 4.5rem; } }
  .hero-banner .hero-content__parent {
    position: relative;
    padding-bottom: 1.875rem;
    display: inline-block;
    text-transform: uppercase;
    color: #ffffff;
    font-size: 1rem;
    letter-spacing: 2.5px;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .hero-banner .hero-content__parent {
        font-size: 1.25rem; } }
    .hero-banner .hero-content__parent:after {
      content: '';
      border-bottom: 6px solid #ffffff;
      width: 2.5rem;
      position: absolute;
      left: 50%;
      bottom: 0;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }

.hero-landing-banner {
  position: relative;
  background-size: cover;
  background-position: center center;
  padding: 3.75rem 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .hero-landing-banner {
      margin-bottom: 2.8125rem;
      padding: 5.625rem 0.9375rem; } }
  .hero-landing-banner .landing-banner-promo__content p {
    margin-bottom: 0.5rem !important; }
  .hero-landing-banner .landing-banner-promo__content .button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.5em 2em 0.5em 2em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.4rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #B9C400 !important;
    color: #ffffff; }
  .hero-landing-banner .landing-banner__content {
    color: #ffffff;
    text-align: center; }
    .hero-landing-banner .landing-banner__content .landing-banner-promo__content p {
      margin-bottom: 0.5rem !important; }
    .hero-landing-banner .landing-banner__content .landing-banner__content-title {
      font-weight: normal;
      font-size: 2.625rem;
      margin-bottom: 0; }
      @media print, screen and (min-width: 40em) {
        .hero-landing-banner .landing-banner__content .landing-banner__content-title {
          font-size: 3.5rem; } }
      @media screen and (min-width: 75em) {
        .hero-landing-banner .landing-banner__content .landing-banner__content-title {
          font-size: 4.5rem; } }
    .hero-landing-banner .landing-banner__content .landing-banner-promo__content {
      color: #556777 !important;
      text-align: left; }
      .hero-landing-banner .landing-banner__content .landing-banner-promo__content .landing-banner-promo__content-title {
        color: #556777 !important;
        font-weight: normal;
        font-size: 2.625rem;
        margin-bottom: 0; }
        @media print, screen and (min-width: 40em) {
          .hero-landing-banner .landing-banner__content .landing-banner-promo__content .landing-banner-promo__content-title {
            font-size: 3.5rem; } }
        @media screen and (min-width: 75em) {
          .hero-landing-banner .landing-banner__content .landing-banner-promo__content .landing-banner-promo__content-title {
            font-size: 4.5rem; } }
      .hero-landing-banner .landing-banner__content .landing-banner-promo__content .landing-banner-promo__content-title {
        font-weight: 600;
        color: #556777 !important;
        text-align: left; }
    .hero-landing-banner .landing-banner__content p {
      font-size: 1.375rem; }
      .hero-landing-banner .landing-banner__content p:first-child {
        margin-top: 0.9375rem; }
      .hero-landing-banner .landing-banner__content p:last-child {
        margin-bottom: 0; }
      @media screen and (min-width: 75em) {
        .hero-landing-banner .landing-banner__content p {
          font-size: 2rem; } }
    .hero-landing-banner .landing-banner__content .gform_wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .hero-landing-banner .landing-banner__content .gform_wrapper form {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-flex: 0 0 90%;
            -ms-flex: 0 0 90%;
                flex: 0 0 90%; }
        @media print, screen and (min-width: 40em) {
          .hero-landing-banner .landing-banner__content .gform_wrapper form {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row; } }
        @media screen and (min-width: 75em) {
          .hero-landing-banner .landing-banner__content .gform_wrapper form {
            -webkit-flex: 0 0 70%;
                -ms-flex: 0 0 70%;
                    flex: 0 0 70%; } }
      .hero-landing-banner .landing-banner__content .gform_wrapper .gform_fields .gfield {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .hero-landing-banner .landing-banner__content .gform_wrapper .gform_fields .gfield a {
          color: #ffffff !important; }
        .hero-landing-banner .landing-banner__content .gform_wrapper .gform_fields .gfield .gfield_label {
          display: none; }
        .hero-landing-banner .landing-banner__content .gform_wrapper .gform_fields .gfield label {
          color: #ffffff; }
        .hero-landing-banner .landing-banner__content .gform_wrapper .gform_fields .gfield .ginput_container {
          -webkit-flex: 0 0 100%;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%; }
      .hero-landing-banner .landing-banner__content .gform_wrapper .gform_footer {
        margin-top: 0;
        margin-left: 0.9375rem; }
        .hero-landing-banner .landing-banner__content .gform_wrapper .gform_footer .recaptcha-message {
          color: #ffffff; }
          .hero-landing-banner .landing-banner__content .gform_wrapper .gform_footer .recaptcha-message a {
            color: #ffffff; }
    @media print, screen and (min-width: 64em) {
      .hero-landing-banner .landing-banner__content.has-foreground-image {
        min-height: 35rem; } }
    @media screen and (min-width: 75em) {
      .hero-landing-banner .landing-banner__content.has-foreground-image {
        min-height: 40rem; } }
    .hero-landing-banner .landing-banner__content.has-foreground-image .foreground-image-container img {
      margin: auto;
      width: 95%; }
      @media screen and (min-width: 75em) {
        .hero-landing-banner .landing-banner__content.has-foreground-image .foreground-image-container img {
          width: 80%; } }
    .hero-landing-banner .landing-banner__content.has-foreground-image .foreground-img-container img {
      position: absolute;
      top: 80px;
      right: 20%;
      left: 80%;
      width: 120px;
      height: 100px; }
    @media screen and (min-width: 75em) {
      .hero-landing-banner .landing-banner__content.has-foreground-image .foreground-img-container {
        right: 10%; } }
    .hero-landing-banner .landing-banner__content.has-foreground-image .gform_wrapper {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    @media print, screen and (min-width: 64em) {
      .hero-landing-banner .landing-banner__content.has-foreground-image .landing-banner__content {
        text-align: left; } }

.two-column-text-area .text-area {
  margin-top: 1.875rem; }
  .two-column-text-area .text-area a {
    font-weight: bold; }
  .two-column-text-area .text-area:first-child {
    margin-top: 0; }
  @media print, screen and (min-width: 40em) {
    .two-column-text-area .text-area {
      margin-top: 0; } }
  .two-column-text-area .text-area p:last-child {
    margin-bottom: 0; }

.two-column-text-area .text-area__title {
  margin-top: 0; }

@media print, screen and (min-width: 64em) {
  .content-padding-top .text-area__title {
    padding-top: 2.8125rem; } }

@media screen and (max-width: 39.9375em) {
  .flex-order-reverse-mobile .two-column-text-area .grid-x {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
    .flex-order-reverse-mobile .two-column-text-area .grid-x .text-area {
      margin-top: 0; }
      .flex-order-reverse-mobile .two-column-text-area .grid-x .text-area:last-child {
        margin-bottom: 1.875rem; } }

.constrained-text-area {
  padding: 0 0.9375rem; }
  .constrained-text-area.constrained-text-area--no-margin {
    margin-bottom: 0; }
  .constrained-text-area .constrained-text-area__inner {
    padding: 1.875rem 0; }
    @media print, screen and (min-width: 64em) {
      .constrained-text-area .constrained-text-area__inner {
        padding: 2.8125rem 0; } }
    .constrained-text-area .constrained-text-area__inner.no-padding {
      padding: 0 !important; }
      .constrained-text-area .constrained-text-area__inner.no-padding .cell {
        padding: 0; }
  .constrained-text-area#bw-promo .button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 1em 2em 1em 2em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 4px;
    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: #B9C400 !important;
    color: #ffffff; }
  .constrained-text-area .constrained-text-area__title {
    margin-top: 0; }
  .constrained-text-area a {
    font-weight: 700; }
  .constrained-text-area.constrained-text-centered p:last-child {
    margin-bottom: 0; }
  .constrained-text-area * {
    box-sizing: border-box; }
  .constrained-text-area .container {
    position: relative;
    text-align: left !important; }
  .constrained-text-area .maxwidth {
    max-width: 74rem;
    width: 100%;
    margin: 0 auto; }
  .constrained-text-area .ux-text h2 {
    font-size: 1.4rem;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: .6rem;
    color: #444; }
  .constrained-text-area .ux-text h3 {
    font-size: 1.4rem;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 2rem;
    color: #B9C400; }
  .constrained-text-area .ux-text p {
    color: #666;
    line-height: 1.8rem;
    margin-bottom: 1rem;
    font-size: 1rem; }
  .constrained-text-area .ux-text p:last-child {
    margin: 0; }
  .constrained-text-area .ux-vertical-tabs {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: linear-gradient(to bottom, #eee, #fff 200px); }
  .constrained-text-area .ux-vertical-tabs .tabsv2 {
    width: 20rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    padding: 1.2rem;
    width: 100%;
    outline: none;
    text-align: left;
    cursor: pointer;
    border: 0;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    font-size: .85rem;
    color: #666;
    text-transform: uppercase;
    transition: background 250ms ease; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div:first-child {
    border-top: 1px solid #ddd; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div:hover {
    background: #edf0d0; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div.active {
    background: transparent;
    border-right: 0;
    color: #222; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div.empty {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border: 0;
    border-right: 1px solid #ddd;
    pointer-events: none; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div:hover.empty {
    background: none; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div span {
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #ccc;
    -webkit-transform: translateX(1rem);
        -ms-transform: translateX(1rem);
            transform: translateX(1rem);
    opacity: 0;
    transition: all 350ms ease; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div:hover span {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  .constrained-text-area .ux-vertical-tabs .tabsv2 div.active span {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
    border-left: 6px solid #B9C400;
    opacity: 1; }
  .constrained-text-area .ux-vertical-tabs .maincontent {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border: 1px solid #ddd;
    border-left: 0;
    padding: 2rem;
    overflow: hidden; }
  .constrained-text-area .ux-vertical-tabs .maincontent .tabcontent {
    display: none; }
  .constrained-text-area .ux-vertical-tabs .maincontent .tabcontent.active {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative; }
  @media (max-width: 50rem) {
    .constrained-text-area .ux-vertical-tabs {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      background: none; }
    .constrained-text-area .ux-vertical-tabs .tabsv2 {
      width: 100%; }
    .constrained-text-area .ux-vertical-tabs .tabsv2 div.empty {
      display: none; }
    .constrained-text-area .ux-vertical-tabs .maincontent {
      border: 1px solid #ccc;
      border-top: 0;
      background: linear-gradient(to bottom, #eee, #fff 200px); }
    .constrained-text-area .ux-vertical-tabs .tabsv2 div {
      padding: 1rem; }
    .constrained-text-area .ux-vertical-tabs .tabsv2 div.active {
      background: #eee; }
    .constrained-text-area .ux-vertical-tabs .tabsv2 div span {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
    .constrained-text-area .ux-vertical-tabs .tabsv2 div:hover span {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
    .constrained-text-area .ux-vertical-tabs .tabsv2 div.active span {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
    .constrained-text-area .ux-vertical-tabs .maincontent {
      padding: 1rem; } }

@media print, screen and (min-width: 64em) {
  .text-with-image .text-with-image__image-cell {
    padding-right: 0; } }

.text-with-image .text-with-image__text-area {
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .text-with-image .text-with-image__text-area {
      margin-bottom: 0; } }
  .text-with-image .text-with-image__text-area .text-with-image__text-area__title {
    margin-top: 0; }
  .text-with-image .text-with-image__text-area a {
    font-weight: bold; }
  .text-with-image .text-with-image__text-area p:last-child {
    margin-bottom: 0; }
    .text-with-image .text-with-image__text-area p:last-child .button {
      margin-bottom: 0; }

.text-with-image .text-with-image__image-list {
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .text-with-image .text-with-image__image-list.text-with-image__image-list--padding-left {
      padding-left: 1.875rem; }
    .text-with-image .text-with-image__image-list.text-with-image__image-list--padding-right {
      padding-right: 1.875rem; } }
  @media screen and (max-width: 39.9375em) {
    .text-with-image .text-with-image__image-list {
      padding: 0; } }
  @media print, screen and (min-width: 40em) {
    .text-with-image .text-with-image__image-list.text-with-image__image-list--list {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-left: -1%;
      margin-right: -1%; } }
  @media print, screen and (min-width: 40em) {
    .text-with-image .text-with-image__image-list.text-with-image__image-list--list .image-item {
      -webkit-flex: 1 0 48%;
          -ms-flex: 1 0 48%;
              flex: 1 0 48%;
      margin-left: 1%;
      margin-right: 1%; } }
  @media print, screen and (min-width: 64em) {
    .text-with-image .text-with-image__image-list.text-with-image__image-list--list .image-item {
      margin-right: 0;
      margin-left: 2%;
      min-height: 15rem; } }
  .text-with-image .text-with-image__image-list .image-item {
    display: block;
    position: relative;
    background-size: cover;
    background-position: center center;
    min-height: 21.25rem;
    margin-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) {
  .text-with-image.text-with-image--text-left-wide-image-right .text-with-image__image-list {
    text-align: right; } }

.text-with-image--remove-right-gutter .text-with-image__image-list {
  -webkit-transform: translate(2.1875rem);
      -ms-transform: translate(2.1875rem);
          transform: translate(2.1875rem); }
  @media print, screen and (min-width: 64em) {
    .text-with-image--remove-right-gutter .text-with-image__image-list {
      -webkit-transform: translateX(0.9375rem);
          -ms-transform: translateX(0.9375rem);
              transform: translateX(0.9375rem); } }

.portrait-cards {
  padding: 1.875rem 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .portrait-cards {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin-left: -1.5%;
      margin-right: -1.5%; } }
  @media print, screen and (min-width: 64em) {
    .portrait-cards {
      padding: 2.8125rem 0; } }
  @media screen and (min-width: 75em) {
    .portrait-cards.portrait-card--4-across .card {
      -webkit-flex: 0 0 22%;
          -ms-flex: 0 0 22%;
              flex: 0 0 22%; } }
  .portrait-cards .section-intro {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
    @media print, screen and (min-width: 40em) {
      .portrait-cards .section-intro {
        margin-bottom: 0.9375rem; } }
  .portrait-cards .card {
    border: none;
    margin-top: 1.875rem;
    margin-bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .portrait-cards .card {
        -webkit-flex: 0 0 47%;
            -ms-flex: 0 0 47%;
                flex: 0 0 47%;
        margin-left: 1.5%;
        margin-right: 1.5%; } }
    @media print, screen and (min-width: 64em) {
      .portrait-cards .card {
        -webkit-flex: 0 0 30.33%;
            -ms-flex: 0 0 30.33%;
                flex: 0 0 30.33%; } }
    .portrait-cards .card .card__image {
      display: inline-block;
      overflow: hidden;
      position: relative; }
      .portrait-cards .card .card__image .resource-categories {
        position: absolute;
        left: 0.5rem;
        z-index: 5; }
      .portrait-cards .card .card__image img {
        transition: -webkit-transform .2s ease-in-out;
        transition: transform .2s ease-in-out;
        transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
    .portrait-cards .card a.card__image {
      border-bottom: 10px solid #DDDDDD; }
      @media print, screen and (min-width: 64em) {
        .portrait-cards .card a.card__image:hover img {
          -webkit-transform: scale(1.1);
              -ms-transform: scale(1.1);
                  transform: scale(1.1); } }
    .portrait-cards .card .card__content {
      text-align: center;
      padding: 0 0.9375rem; }
      @media print, screen and (min-width: 64em) {
        .portrait-cards .card .card__content {
          padding: 0 1.875rem; } }
      .portrait-cards .card .card__content ul li {
        list-style: none; }
      .portrait-cards .card .card__content p {
        margin-bottom: 0.9375rem;
        font-size: 1rem; }
        .portrait-cards .card .card__content p:last-child {
          margin-bottom: 0; }
          .bg-grey .portrait-cards .card .card__content p:last-child {
            margin-bottom: 0.9375rem; }
      .portrait-cards .card .card__content a {
        font-weight: 700; }
      .portrait-cards .card .card__content .card__content-title {
        font-size: 1.25rem;
        margin: 1.875rem 0 1.5625rem 0; }
        .portrait-cards .card .card__content .card__content-title a {
          color: #555555; }

.landscape-cards {
  padding: 1.875rem 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .landscape-cards {
      padding: 2.8125rem 0; } }
  .landscape-cards .card-item {
    margin-bottom: 1.875rem; }
    .landscape-cards .card-item:last-child {
      margin-bottom: 0; }
    .landscape-cards .card-item.service-card-item:last-child {
      margin-bottom: 1.875rem; }
      @media print, screen and (min-width: 64em) {
        .landscape-cards .card-item.service-card-item:last-child {
          margin-bottom: 3.75rem; } }
    @media print, screen and (min-width: 64em) {
      .landscape-cards .card-item {
        margin-bottom: 3.75rem; } }
    .landscape-cards .card-item a.card-item__image {
      border-bottom: 10px solid #DDDDDD; }
      .landscape-cards .card-item a.card-item__image img {
        transition: -webkit-transform .2s ease-in-out;
        transition: transform .2s ease-in-out;
        transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
      @media print, screen and (min-width: 64em) {
        .landscape-cards .card-item a.card-item__image:hover img {
          -webkit-transform: scale(1.1);
              -ms-transform: scale(1.1);
                  transform: scale(1.1); } }
    .landscape-cards .card-item .card-item__image {
      position: relative;
      display: inline-block;
      overflow: hidden; }
      .landscape-cards .card-item .card-item__image .card-item__image-badge {
        background-color: #43B130;
        position: absolute;
        left: 0.3125rem;
        top: 0.3125rem;
        z-index: 3; }
      .landscape-cards .card-item .card-item__image.card-item__image--no-border {
        border-bottom: none; }
    .landscape-cards .card-item .card-item__content {
      text-align: center;
      height: 100%;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .landscape-cards .card-item .card-item__content {
          padding: 0; } }
      .landscape-cards .card-item .card-item__content p:last-child {
        margin-bottom: 0; }
      @media print, screen and (min-width: 40em) {
        .landscape-cards .card-item .card-item__content .card-item__content-title {
          margin-top: 0; } }
      .landscape-cards .card-item .card-item__content .card-item__content-title a {
        color: #555555; }

.related-services-container {
  padding: 1.875rem 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .related-services-container {
      padding: 2.8125rem 0; } }
  .related-services-container .related-services__section-title {
    margin-top: 0; }

@media print, screen and (min-width: 40em) {
  .related-services {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-left: -1%;
    margin-right: -1%; } }

.related-services .related-service {
  margin-bottom: 2.8125rem; }
  .related-services .related-service:last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .related-services .related-service {
      -webkit-flex: 0 0 48%;
          -ms-flex: 0 0 48%;
              flex: 0 0 48%;
      margin-left: 1%;
      margin-right: 1%;
      margin-bottom: 0; } }
  .related-services .related-service .related-service__bg-container {
    display: block;
    position: relative;
    overflow: hidden;
    border-bottom: 10px solid #B9C400; }
    .related-services .related-service .related-service__bg-container .related-service__logo-wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .related-services .related-service .related-service__bg-container .related-service__logo-wrapper .related-service__logo {
        width: 3.75rem; }
        @media print, screen and (min-width: 64em) {
          .related-services .related-service .related-service__bg-container .related-service__logo-wrapper .related-service__logo {
            width: 5rem; } }
      .related-services .related-service .related-service__bg-container .related-service__logo-wrapper h3 {
        color: #ffffff;
        margin: 0 1rem; }
  .related-services .related-service .related-service__bg {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    position: relative;
    padding: 2.5rem;
    background-size: cover;
    background-position: center center;
    background-blend-mode: multiply;
    background-color: #888888;
    min-height: 11.25rem;
    transition: opacity .2s ease-in-out; }
    @media print, screen and (min-width: 64em) {
      .related-services .related-service .related-service__bg {
        min-height: 17.5rem; } }
    .is-ie .related-services .related-service .related-service__bg:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 100%;
      opacity: 0.3;
      background-color: #0a0a0a; }
    @media print, screen and (min-width: 64em) {
      .related-services .related-service .related-service__bg:hover {
        opacity: 0.8; } }
  .related-services .related-service .related-service__content {
    text-align: center;
    padding: 0 0.9375rem; }
    .related-services .related-service .related-service__content p:last-child {
      margin-bottom: 0; }
    .related-services .related-service .related-service__content .related-service__content-title {
      font-size: 1.25rem; }
      .related-services .related-service .related-service__content .related-service__content-title a {
        color: #555555; }

.statistics-panel-container {
  position: relative;
  padding: 1.875rem 0; }
  @media print, screen and (min-width: 64em) {
    .statistics-panel-container {
      padding: 2.8125rem 0; } }

.statistics-panel .statistics-item {
  background-color: #F3F3F3;
  border-bottom: 10px solid #DDDDDD;
  min-height: 12.5rem; }
  .statistics-panel .statistics-item .statistics-item__inner {
    padding: 1.875rem; }
  .statistics-panel .statistics-item .statistics-item__value {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 0;
    color: #B9C400; }
  .statistics-panel .statistics-item .statistics-item__details p {
    font-size: 1.5rem;
    font-weight: 300; }
    .statistics-panel .statistics-item .statistics-item__details p:last-child {
      margin-bottom: 0; }

.statistics-slider {
  height: 100%; }
  @media print, screen and (min-width: 64em) {
    .statistics-slider {
      pointer-events: none; } }
  .statistics-slider .swiper-slide {
    height: auto;
    margin-bottom: 0.9375rem; }
  .statistics-slider .swiper-pagination {
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .statistics-slider .swiper-pagination {
        display: none !important; } }

.testimonial-block {
  padding: 0 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .testimonial-block {
      padding: 0 0.9375rem; } }
  .testimonial-block .testimonial-case-study {
    background-color: transparent;
    margin-bottom: 0;
    padding-right: 2.5rem;
    margin-top: 0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .testimonial-block .testimonial-case-study {
        margin-top: 2.8125rem; } }
  .testimonial-block .testimonial-block__inner {
    position: relative;
    background-size: cover;
    background-position: center center;
    padding: 1.875rem 1.875rem; }
    .testimonial-block .testimonial-block__inner:before {
      content: '\201C';
      font-size: 3rem;
      font-weight: bold;
      position: absolute;
      top: 1.25rem;
      left: 0.625rem;
      color: rgba(255, 255, 255, 0.2); }
      @media print, screen and (min-width: 40em) {
        .testimonial-block .testimonial-block__inner:before {
          font-size: 4rem;
          top: 1.25rem;
          left: 2.5rem; } }
    .testimonial-block .testimonial-block__inner:after {
      content: "\201D";
      font-size: 3rem;
      font-weight: bold;
      position: absolute;
      top: 1.25rem;
      right: 0.625rem;
      color: rgba(255, 255, 255, 0.2); }
      @media print, screen and (min-width: 40em) {
        .testimonial-block .testimonial-block__inner:after {
          font-size: 4rem;
          top: 1.25rem;
          right: 2.5rem; } }
    @media print, screen and (min-width: 40em) {
      .testimonial-block .testimonial-block__inner {
        padding: 2.8125rem 0; } }
    @media print, screen and (min-width: 64em) {
      .testimonial-block .testimonial-block__inner {
        padding: 3.75rem 0; } }
    .testimonial-block .testimonial-block__inner .testimonial-message {
      text-align: center;
      color: #ffffff; }
      .testimonial-block .testimonial-block__inner .testimonial-message p {
        margin-bottom: 0; }
      .testimonial-block .testimonial-block__inner .testimonial-message p:not(.testimonial-message__author) {
        font-size: 1.125rem;
        font-style: italic; }
        @media print, screen and (min-width: 40em) {
          .testimonial-block .testimonial-block__inner .testimonial-message p:not(.testimonial-message__author) {
            font-size: 1.5rem; } }
      .testimonial-block .testimonial-block__inner .testimonial-message .testimonial-message__author {
        font-size: 1rem;
        font-weight: bold;
        margin-top: 0.9375rem; }
        @media print, screen and (min-width: 40em) {
          .testimonial-block .testimonial-block__inner .testimonial-message .testimonial-message__author {
            font-size: 1.125rem; } }

.video-with-text {
  padding: 1.875rem 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .video-with-text {
      padding: 2.8125rem 0; } }
  .video-with-text p:last-child {
    margin-bottom: 0; }
  .video-with-text .video-with-text__column {
    margin-bottom: 1.875rem; }
    .video-with-text .video-with-text__column:last-child {
      margin-bottom: 0; }
    @media print, screen and (min-width: 64em) {
      .video-with-text .video-with-text__column {
        margin-bottom: 0; } }
    .video-with-text .video-with-text__column .video-with-text__title {
      margin-top: 0; }

.landscape-cards .service-card-item .card-item__image {
  position: relative;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 15rem;
  height: 100%; }
  @media print, screen and (min-width: 64em) {
    .landscape-cards .service-card-item .card-item__image {
      min-height: 18.75rem; } }
  .landscape-cards .service-card-item .card-item__image img {
    width: 80%;
    max-width: 25rem; }

.landscape-cards .service-card-item .service-card__service-circle-icon {
  margin-left: auto;
  margin-right: auto;
  width: 4.3125rem;
  margin-bottom: 1.875rem; }
  @media screen and (max-width: 63.9375em) {
    .landscape-cards .service-card-item .service-card__service-circle-icon {
      display: none !important; } }

.process-diagram-container {
  padding: 1.875rem 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .process-diagram-container {
      padding: 2.8125rem 0; } }

.process-diagram {
  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 screen and (min-width: 119.375em) {
    .process-diagram.process-diagram--portrait-layout-promo .process-diagram__item {
      position: relative; }
      .process-diagram.process-diagram--portrait-layout-promo .process-diagram__item:after {
        content: '';
        right: -150%;
        width: 10em;
        top: 6.5625rem;
        height: 1px;
        border: solid 1px #B9C400;
        position: absolute; }
      .process-diagram.process-diagram--portrait-layout-promo .process-diagram__item:last-child:after {
        display: none; } }
  @media screen and (min-width: 90em) {
    .process-diagram.process-diagram--portrait-layout .process-diagram__item {
      position: relative; }
      .process-diagram.process-diagram--portrait-layout .process-diagram__item:after {
        content: '';
        background-image: url("../images/repeatable-helix.svg");
        position: absolute;
        right: -100%;
        width: 100%;
        top: 4.6875rem;
        height: 3rem;
        background-repeat: no-repeat; }
      .process-diagram.process-diagram--portrait-layout .process-diagram__item:last-child:after {
        display: none; } }
  @media print, screen and (min-width: 40em) {
    .process-diagram {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start; } }
  @media print, screen and (min-width: 64em) {
    .process-diagram {
      -webkit-justify-content: space-around;
          -ms-flex-pack: distribute;
              justify-content: space-around; } }
  .process-diagram .process-diagram__item {
    text-align: center;
    margin-bottom: 1.875rem; }
    .process-diagram .process-diagram__item .process-diagram__item-content p:last-child {
      margin-bottom: 0; }
    .process-diagram .process-diagram__item:last-child {
      margin-bottom: 0; }
    .process-diagram .process-diagram__item .process-diagram__item-title {
      margin: 1.875rem 0 1.5625rem 0; }
    .process-diagram .process-diagram__item a {
      font-weight: bold; }
    .process-diagram .process-diagram__item .process-diagram__item-diagram-container {
      background-color: #ffffff;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      height: 5.9375rem;
      width: 5.9375rem;
      margin-left: auto;
      margin-right: auto;
      border-radius: 1000px;
      box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5);
      z-index: 3;
      position: relative; }
      .process-diagram .process-diagram__item .process-diagram__item-diagram-container img {
        max-width: 3.125rem;
        max-height: 3.125rem; }
      @media print, screen and (min-width: 40em) {
        .process-diagram .process-diagram__item .process-diagram__item-diagram-container {
          margin-left: initial;
          margin-right: initial; } }
      @media print, screen and (min-width: 64em) {
        .process-diagram .process-diagram__item .process-diagram__item-diagram-container {
          height: 7.5rem;
          width: 7.5rem; }
          .process-diagram .process-diagram__item .process-diagram__item-diagram-container img {
            max-width: 4.375rem;
            max-height: 4.375rem; } }
      @media screen and (min-width: 75em) {
        .process-diagram .process-diagram__item .process-diagram__item-diagram-container {
          height: 12.5rem;
          width: 12.5rem; }
          .process-diagram .process-diagram__item .process-diagram__item-diagram-container img {
            max-width: 7.1875rem;
            max-height: 7.1875rem; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .process-diagram .process-diagram__item {
        -webkit-flex: 0 0 90%;
            -ms-flex: 0 0 90%;
                flex: 0 0 90%;
        margin: 0 2%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        text-align: left;
        margin-bottom: 1.875rem; }
        .process-diagram .process-diagram__item .process-diagram__item-title {
          margin-top: 0; }
        .process-diagram .process-diagram__item .process-diagram__item-diagram-container {
          -webkit-flex: 0 0 5.9375rem;
              -ms-flex: 0 0 5.9375rem;
                  flex: 0 0 5.9375rem;
          margin-right: 1.875rem; } }
    @media print, screen and (min-width: 64em) {
      .process-diagram .process-diagram__item {
        -webkit-flex: 0 0 12.5rem;
            -ms-flex: 0 0 12.5rem;
                flex: 0 0 12.5rem;
        margin: 0 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .process-diagram.process-diagram--landscape-layout {
      margin-left: -2%;
      margin-right: -2%; } }
  .process-diagram.process-diagram--landscape-layout .process-diagram__item:last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 64em) {
    .process-diagram.process-diagram--landscape-layout .process-diagram__item {
      text-align: left;
      margin: 0 2%;
      -webkit-flex: 0 0 46%;
          -ms-flex: 0 0 46%;
              flex: 0 0 46%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 2.8125rem; }
      .process-diagram.process-diagram--landscape-layout .process-diagram__item .process-diagram__item-title {
        margin-top: 0;
        margin-bottom: 1.40625rem; }
      .process-diagram.process-diagram--landscape-layout .process-diagram__item .process-diagram__item-diagram-container {
        width: 8.125rem;
        height: 8.125rem;
        -webkit-flex: 0 0 8.125rem;
            -ms-flex: 0 0 8.125rem;
                flex: 0 0 8.125rem;
        margin-right: 1.875rem; }
        .process-diagram.process-diagram--landscape-layout .process-diagram__item .process-diagram__item-diagram-container img {
          max-width: 5rem;
          max-height: 5rem; } }
  .process-diagram .content-section-right p:last-child {
    margin-bottom: 0; }
  .process-diagram.process-diagram--landscape-layout-with-content {
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .process-diagram.process-diagram--landscape-layout-with-content {
        margin-bottom: 0; } }
    @media print, screen and (min-width: 64em) {
      .process-diagram.process-diagram--landscape-layout-with-content .process-diagram__item {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        margin-left: 0;
        margin-right: 0; } }

.product-list-container .bg-grey {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.product-list-centered .product-list {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .product-list-centered .product-list .product-item {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .product-list-centered .product-list .product-item .product-item__image-container {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: 11.25rem; }
      @media print, screen and (min-width: 64em) {
        .product-list-centered .product-list .product-item .product-item__image-container {
          width: auto; } }
    .product-list-centered .product-list .product-item .product-item__details, .product-list-centered .product-list .product-item .product-item__description {
      text-align: center;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-left: 5px; }
      .product-list-centered .product-list .product-item .product-item__details .product-item__details-title, .product-list-centered .product-list .product-item .product-item__description .product-item__details-title {
        margin: 1.125rem 0; }
  .product-list-centered .product-list .button {
    background-color: #B9C400; }

.product-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media print, screen and (min-width: 40em) {
    .product-list {
      margin-left: -1%;
      margin-right: -1%; } }
  .product-list .product-item {
    margin-bottom: 1.875rem;
    background-color: #ffffff; }
    @media screen and (max-width: 63.9375em) {
      .product-list .product-item {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
    .product-list .product-item:last-child {
      margin-bottom: 0; }
    @media print, screen and (min-width: 64em) {
      .product-list .product-item {
        margin-bottom: 0; } }
    .product-list .product-item .product-item__image-container {
      position: relative; }
      @media screen and (max-width: 63.9375em) {
        .product-list .product-item .product-item__image-container {
          -webkit-flex: 0 0 5rem;
              -ms-flex: 0 0 5rem;
                  flex: 0 0 5rem;
          margin-right: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
      .product-list .product-item {
        -webkit-flex: 0 0 48%;
            -ms-flex: 0 0 48%;
                flex: 0 0 48%;
        margin-left: 1%;
        margin-right: 1%; } }
    @media print, screen and (min-width: 64em) {
      .product-list .product-item {
        -webkit-flex: 0 0 23%;
            -ms-flex: 0 0 23%;
                flex: 0 0 23%; } }
    .product-list .product-item a.product-item__image-container img {
      transition: -webkit-transform .2s ease-in-out;
      transition: transform .2s ease-in-out;
      transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
    .product-list .product-item a.product-item__image-container:hover img {
      -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
              transform: scale(1.1); }
    .product-list .product-item .product-item__image-container {
      overflow: hidden;
      display: block; }
      .product-list .product-item .product-item__image-container.has-special-offer {
        position: relative; }
        .product-list .product-item .product-item__image-container.has-special-offer:before {
          content: 'Special offer!';
          position: absolute;
          left: 0.5rem;
          top: 0.5rem;
          z-index: 1;
          padding: 0.125rem 0.5rem;
          color: #ffffff;
          font-size: 0.8125rem;
          letter-spacing: 1px;
          text-transform: uppercase;
          font-weight: bold;
          background-color: #43B130; }
          @media screen and (max-width: 63.9375em) {
            .product-list .product-item .product-item__image-container.has-special-offer:before {
              display: none !important; } }
    .product-list .product-item .product-item__description {
      margin-top: 1.40625rem;
      margin-left: 10px; }
      @media screen and (max-width: 63.9375em) {
        .product-list .product-item .product-item__description {
          -webkit-flex: 0 0 100%;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%; } }
      .product-list .product-item .product-item__description a {
        font-weight: 700; }
      .product-list .product-item .product-item__description p:last-child {
        margin-bottom: 0; }
    .product-list .product-item .product-item__details {
      margin-left: 10px; }
      @media print, screen and (min-width: 40em) {
        .product-list .product-item .product-item__details {
          text-align: left; } }
      .product-list .product-item .product-item__details .product-item__details-title {
        font-size: 1.25rem;
        margin-top: 0;
        margin-bottom: 1.125rem; }
        @media print, screen and (min-width: 64em) {
          .product-list .product-item .product-item__details .product-item__details-title {
            margin: 1.125rem 0; } }
        .product-list .product-item .product-item__details .product-item__details-title a {
          color: #555555; }
        @media print, screen and (min-width: 64em) {
          .product-list .product-item .product-item__details .product-item__details-title {
            margin: 1.6875rem 0; } }
      .product-list .product-item .product-item__details .product-item__details-value {
        background-color: #B9C400;
        padding: 0.375rem 0.75rem;
        color: #ffffff;
        font-weight: bold; }

.gallery-slider-container {
  position: relative; }
  .gallery-slider-container .swiper-button-prev {
    display: inline-block;
    height: 1.25rem;
    width: 0.625rem;
    background-image: url("../images/podw-sprite.svg");
    background-position: -140px -24px;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: 482px 66px;
    margin-top: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
    @media print, screen and (min-width: 64em) {
      .gallery-slider-container .swiper-button-prev {
        display: inline-block;
        height: 2.625rem;
        width: 1.4375rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: 0px 0px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; } }
  .gallery-slider-container .swiper-button-next {
    display: inline-block;
    height: 1.25rem;
    width: 0.625rem;
    background-image: url("../images/podw-sprite.svg");
    background-position: -153px -24px;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-size: 482px 66px;
    margin-top: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
    @media print, screen and (min-width: 64em) {
      .gallery-slider-container .swiper-button-next {
        display: inline-block;
        height: 2.625rem;
        width: 1.4375rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -27px 0px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; } }
  .gallery-slider-container .gallery-slider {
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .gallery-slider-container .gallery-slider .swiper-button-prev {
        position: absolute; } }

.service-banner {
  text-align: center;
  position: relative;
  background-size: cover;
  background-position: center center;
  min-height: 22.5rem;
  overflow: hidden;
  background-blend-mode: multiply;
  background-color: #959595;
  padding: 1.875rem 0;
  margin-bottom: 0.9375rem; }
  .is-ie .service-banner:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 100%;
    opacity: 0.3;
    background-color: #0a0a0a; }
  @media print, screen and (min-width: 64em) {
    .service-banner {
      position: relative;
      min-height: 37.5rem;
      background-color: #BABABA;
      margin-bottom: 1.875rem;
      -webkit-clip-path: ellipse(100% 100% at 50% 0);
              clip-path: ellipse(100% 100% at 50% 0); } }
  .service-banner .service-banner__content {
    position: relative;
    z-index: 11;
    color: #ffffff;
    margin-top: 0.9375rem; }
    .service-banner .service-banner__content .service-banner__content-title {
      text-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
      @media screen and (min-width: 75em) {
        .service-banner .service-banner__content .service-banner__content-title {
          font-size: 5rem; } }
    .service-banner .service-banner__content p:last-child {
      margin-bottom: 0; }
    .service-banner .service-banner__content .button {
      background-color: #B9C400;
      color: #ffffff;
      padding: 0.75rem 2rem 0.75rem 0.875rem;
      font-size: 1rem; }
      .service-banner .service-banner__content .button:hover {
        background-color: #a1ab00; }
      .service-banner .service-banner__content .button:after {
        background-position: -97px -29px; }

@media print, screen and (min-width: 64em) {
  .service-banner-container {
    -webkit-filter: drop-shadow(0 0 15px #333);
            filter: drop-shadow(0 0 15px #333); } }

.further-information {
  position: relative;
  padding-top: 7.8125rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .further-information {
      padding-top: 8.125rem;
      padding-bottom: 2.8125rem; } }
  .further-information .further-information__service-label {
    display: block;
    font-weight: bold;
    margin-bottom: 0.3125rem;
    text-transform: uppercase; }
    .further-information .further-information__service-label .book {
      font-weight: normal;
      text-transform: initial; }
  .further-information .further-information__service {
    text-align: center;
    position: absolute;
    top: 1.875rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    max-height: 5.3125rem; }
    @media print, screen and (min-width: 64em) {
      .further-information .further-information__service {
        top: 3.75rem; } }
  .further-information .button {
    padding: 0.75rem 2rem 0.75rem 0.875rem;
    font-size: 0.9375rem;
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
    .further-information .button:hover {
      -webkit-transform: translateY(-2px);
          -ms-transform: translateY(-2px);
              transform: translateY(-2px); }
  .further-information .further-information__column {
    text-align: center;
    padding: 0 0.9375rem;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .further-information .further-information__column {
        padding: 0 4.6875rem; } }
    .further-information .further-information__column ul {
      margin-left: 0;
      list-style: none;
      margin-bottom: 0; }
      .further-information .further-information__column ul li {
        margin-bottom: 0; }
        .further-information .further-information__column ul li a {
          color: #555555; }
          .further-information .further-information__column ul li a:hover {
            text-decoration: none; }
  .further-information--has-service .further-information__column-left {
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .further-information--has-service .further-information__column-left:before {
        content: '';
        border-top: 2px solid #F3F3F3;
        border-left: 2px solid #F3F3F3;
        height: 2.3125rem;
        width: 12.5rem;
        position: absolute;
        top: -3.75rem;
        left: 50%; } }
  @media screen and (min-width: 64em) and (min-width: 90em) {
    .further-information--has-service .further-information__column-left:before {
      width: 18.75rem; } }
  .further-information--has-service .further-information__column-right {
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .further-information--has-service .further-information__column-right:after {
        content: '';
        border-top: 2px solid #F3F3F3;
        border-right: 2px solid #F3F3F3;
        height: 2.3125rem;
        width: 12.5rem;
        position: absolute;
        top: -3.75rem;
        right: 50%; } }
  @media screen and (min-width: 64em) and (min-width: 90em) {
    .further-information--has-service .further-information__column-right:after {
      width: 18.75rem; } }

.book-covers-slider-container {
  position: relative; }
  .book-covers-slider-container .swiper-wrapper {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end; }

.landing-strip {
  position: relative;
  background-size: cover;
  background-position: center center;
  color: #ffffff;
  padding: 0 0.9375rem !important;
  min-height: 25rem; }
  .landing-strip#bw-promo .button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 1em 2em 1em 2em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 4px;
    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: #B9C400 !important;
    color: #ffffff; }
  .landing-strip h3 {
    margin: 1.40625rem 0; }
  .landing-strip .landing-stripe__image-cell {
    position: relative; }
    .landing-strip .landing-stripe__image-cell img {
      margin-top: 1.25rem;
      max-height: 26.25rem; }
      @media print, screen and (min-width: 64em) {
        .landing-strip .landing-stripe__image-cell img {
          position: absolute;
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%); } }
  .landing-strip .landing-stripe__text-cell {
    padding-top: 2.8125rem;
    padding-bottom: 0.9375rem; }
    .landing-strip .landing-stripe__text-cell p:last-child {
      margin-bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .landing-strip .landing-stripe__text-cell {
        padding: 2.8125rem 0;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
    @media screen and (max-width: 39.9375em) {
      .landing-strip .landing-stripe__text-cell {
        text-align: center; } }

.service-header {
  position: relative;
  z-index: 99;
  background-color: #B9C400;
  padding: 0.46875rem 0;
  transition: all .2s ease-in-out; }
  .service-header.is-stuck {
    margin-top: 4.0625rem !important;
    transition: all .2s ease-in-out; }
    .service-header.is-stuck .service-header__link #service-header__logo {
      width: 11.25rem;
      max-height: 2.5rem; }
    @media screen and (min-width: 90em) {
      .service-header.is-stuck {
        margin-top: 5.6875rem !important; } }
    .service-header.is-stuck .service-header__menu .menu li a {
      padding: 1.125rem 0; }
  @media print, screen and (min-width: 64em) {
    .service-header {
      padding: 0; } }
  .service-header .service-header__link {
    display: inline-block;
    line-height: 0; }
    .service-header .service-header__link #service-header__logo {
      position: relative;
      width: 11.25rem;
      max-height: 3.75rem; }
      @media screen and (min-width: 30em) {
        .service-header .service-header__link #service-header__logo {
          width: 13.75rem; } }
      @media screen and (min-width: 75em) {
        .service-header .service-header__link #service-header__logo {
          width: 17rem; } }
      .service-header .service-header__link #service-header__logo #service-label {
        display: none; }
  .service-header .service-header__logo-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 5.625rem; }
  .service-header .service-header__menu .service-submenu-trigger {
    margin-left: auto;
    display: block;
    height: 1.5625rem;
    width: 1.9375rem; }
    .service-header .service-header__menu .service-submenu-trigger span {
      display: inline-block;
      height: 0.3125rem;
      width: 1.5625rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -156px -53px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px; }
    @media print, screen and (min-width: 64em) {
      .service-header .service-header__menu .service-submenu-trigger {
        display: none !important; } }
  @media screen and (max-width: 63.9375em) {
    .service-header .service-header__menu .menu {
      display: block;
      z-index: 12;
      width: 100%;
      background-color: #ffffff;
      position: absolute;
      top: 100%;
      right: 0;
      box-shadow: 0 2px 8px 0 rgba(121, 121, 121, 0.1);
      padding: 0.5rem 0;
      opacity: 0;
      visibility: hidden;
      transition: opacity .2s ease-in-out; }
      .service-header .service-header__menu .menu.opened {
        opacity: 1;
        visibility: visible; }
      .service-header .service-header__menu .menu li {
        margin-bottom: 0.3125rem; }
        .service-header .service-header__menu .menu li a {
          color: #ffffff; }
        .service-header .service-header__menu .menu li.is-active a {
          background-color: transparent; } }
  @media print, screen and (min-width: 64em) {
    .service-header .service-header__menu .menu {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .service-header .service-header__menu .menu li {
        padding: 0 0.4375rem;
        margin-bottom: 0; } }
    @media screen and (min-width: 64em) and (min-width: 75em) {
      .service-header .service-header__menu .menu li {
        padding: 0 0.9375rem; } }
    @media screen and (min-width: 64em) and (min-width: 90em) {
      .service-header .service-header__menu .menu li {
        padding: 0 1.875rem; } }
  @media print, screen and (min-width: 64em) {
        .service-header .service-header__menu .menu li.is-active a {
          background-color: transparent; }
        .service-header .service-header__menu .menu li.current_page_item a {
          background-color: transparent; }
          .service-header .service-header__menu .menu li.current_page_item a:after {
            -webkit-transform: scaleX(1);
                -ms-transform: scaleX(1);
                    transform: scaleX(1); }
        .service-header .service-header__menu .menu li a {
          position: relative;
          padding: 1.75rem 0;
          font-weight: bold;
          color: #ffffff;
          font-size: 0.9375rem; } }
      @media screen and (min-width: 64em) and (min-width: 75em) {
        .service-header .service-header__menu .menu li a {
          font-size: 1rem; } }
  @media print, screen and (min-width: 64em) {
          .service-header .service-header__menu .menu li a:hover:after {
            -webkit-transform: scaleX(1);
                -ms-transform: scaleX(1);
                    transform: scaleX(1); }
          .service-header .service-header__menu .menu li a:after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            border-bottom: 4px solid #ffffff;
            -webkit-transform: scaleX(0);
                -ms-transform: scaleX(0);
                    transform: scaleX(0);
            transition: -webkit-transform .2s ease-in-out;
            transition: transform .2s ease-in-out;
            transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; } }

.container.service-type--bookWizard .further-information__service-label {
  color: #B9C400; }

.container.service-type--bookWizard .service-banner .button {
  background-color: #B9C400;
  color: #ffffff; }
  .container.service-type--bookWizard .service-banner .button:hover {
    background-color: #929b00; }

.container.service-type--bookWizard .landscape-cards .card-item .card-item__content .button {
  color: #B9C400; }
  .container.service-type--bookWizard .landscape-cards .card-item .card-item__content .button:after {
    background-position: -103px -29px; }

.container.service-type--bookWizard .text-with-image .text-with-image__text-area .button {
  color: #B9C400; }
  .container.service-type--bookWizard .text-with-image .text-with-image__text-area .button:after {
    background-position: -103px -29px; }

.container.service-type--bookWizard .video-with-text .button {
  color: #B9C400; }
  .container.service-type--bookWizard .video-with-text .button:after {
    background-position: -103px -29px; }

.container.service-type--bookWizard .two-column-text-area .text-area .button {
  color: #B9C400; }
  .container.service-type--bookWizard .two-column-text-area .text-area .button:after {
    background-position: -103px -29px; }

.container.service-type--bookWizard .statistics-panel .statistics-item .statistics-item__value {
  color: #B9C400; }

.container.service-type--bookWizard .further-information__column-text .button {
  background-color: #B9C400; }

.container.service-type--bookWizard .product-list .product-item .product-item__details .product-item__details-value {
  background-color: #B9C400; }

.card-item.service-type--bookWizard .card-item__image {
  background-color: #B9C400; }

.card-item.service-type--bookWizard .service-text-colour {
  color: #B9C400;
  font-weight: bold; }

.service-header.service-type--bookWizard {
  background-color: #B9C400; }
  .service-header.service-type--bookWizard .menu {
    background-color: #B9C400; }

.service-sidebar.service-sidebar--bookWizard {
  border-color: #B9C400; }
  .service-sidebar.service-sidebar--bookWizard .service-sidebar__image-service-name {
    color: #B9C400; }

.sidebar-services-list .service-item--bookWizard .service-item__description-service {
  color: #B9C400; }

.service__item-group--bookWizard .service__item-group__label {
  color: #B9C400; }

.home-slider .slide-item.slide-item--bookWizard,
.home-slider .slide-item-3-col.slide-item--bookWizard {
  border-bottom: 13px solid #B9C400; }
  .home-slider .slide-item.slide-item--bookWizard .button,
  .home-slider .slide-item-3-col.slide-item--bookWizard .button {
    background-color: #B9C400; }

.home-services-section .services__item.service__item-group--bookWizard {
  border-top-color: #B9C400; }
  .home-services-section .services__item.service__item-group--bookWizard .service__item-group__icon-container {
    border-color: #B9C400 !important; }

.related-services .related-service.related-service--bookWizard .button {
  background-color: #B9C400; }

.related-services .related-service.related-service--bookWizard .related-service__bg-container {
  border-color: #B9C400; }

.container.service-type--bookPrint .further-information__service-label {
  color: #B9C400; }

.container.service-type--bookPrint .service-banner .button {
  background-color: #B9C400;
  color: #ffffff; }
  .container.service-type--bookPrint .service-banner .button:hover {
    background-color: #929b00; }

.container.service-type--bookPrint .landscape-cards .card-item .card-item__content .button {
  color: #B9C400; }

.container.service-type--bookPrint .text-with-image .text-with-image__text-area .button {
  color: #B9C400; }

.container.service-type--bookPrint .video-with-text .button {
  color: #B9C400; }

.container.service-type--bookPrint .two-column-text-area .text-area .button {
  color: #B9C400; }

.container.service-type--bookPrint .statistics-panel .statistics-item .statistics-item__value {
  color: #B9C400; }

.container.service-type--bookPrint .further-information__column-text .button {
  background-color: #B9C400; }

.container.service-type--bookPrint .product-list .product-item .product-item__details .product-item__details-value {
  background-color: #B9C400; }

.card-item.service-type--bookPrint .card-item__image {
  background-color: #B9C400; }

.card-item.service-type--bookPrint .service-text-colour {
  color: #B9C400;
  font-weight: bold; }

.service-header.service-type--bookPrint {
  background-color: #B9C400; }
  .service-header.service-type--bookPrint .menu {
    background-color: #B9C400; }

.service-sidebar.service-sidebar--bookPrint {
  border-color: #B9C400; }
  .service-sidebar.service-sidebar--bookPrint .service-sidebar__image-service-name {
    color: #B9C400; }

.sidebar-services-list .service-item--bookPrint .service-item__description-service {
  color: #B9C400; }

.service__item-group--bookPrint .service__item-group__label {
  color: #B9C400; }

.home-slider .slide-item.slide-item--bookPrint,
.home-slider .slide-item-3-col.slide-item--bookPrint {
  border-bottom: 13px solid #B9C400; }
  .home-slider .slide-item.slide-item--bookPrint .button,
  .home-slider .slide-item-3-col.slide-item--bookPrint .button {
    background-color: #B9C400; }

.home-services-section .services__item.service__item-group--bookPrint {
  border-top-color: #B9C400; }
  .home-services-section .services__item.service__item-group--bookPrint .service__item-group__icon-container {
    border-color: #B9C400 !important; }

.related-services .related-service.related-service--bookPrint .button {
  background-color: #B9C400; }

.related-services .related-service.related-service--bookPrint .related-service__bg-container {
  border-color: #B9C400; }

.container.service-type--bookVault .further-information__service-label {
  color: #79B3E2; }

.container.service-type--bookVault .service-banner .button {
  background-color: #79B3E2;
  color: #ffffff; }
  .container.service-type--bookVault .service-banner .button:hover {
    background-color: #57a0db; }

.container.service-type--bookVault .landscape-cards .card-item .card-item__content .button {
  color: #79B3E2; }
  .container.service-type--bookVault .landscape-cards .card-item .card-item__content .button:after {
    background-position: -115px -29px; }

.container.service-type--bookVault .text-with-image .text-with-image__text-area .button {
  color: #79B3E2; }
  .container.service-type--bookVault .text-with-image .text-with-image__text-area .button:after {
    background-position: -115px -29px; }

.container.service-type--bookVault .video-with-text .button {
  color: #79B3E2; }
  .container.service-type--bookVault .video-with-text .button:after {
    background-position: -115px -29px; }

.container.service-type--bookVault .two-column-text-area .text-area .button {
  color: #79B3E2; }
  .container.service-type--bookVault .two-column-text-area .text-area .button:after {
    background-position: -115px -29px; }

.container.service-type--bookVault .statistics-panel .statistics-item .statistics-item__value {
  color: #79B3E2; }

.container.service-type--bookVault .further-information__column-text .button {
  background-color: #79B3E2; }

.container.service-type--bookVault .product-list .product-item .product-item__details .product-item__details-value {
  background-color: #79B3E2; }

.card-item.service-type--bookVault .card-item__image {
  background-color: #79B3E2; }

.card-item.service-type--bookVault .service-text-colour {
  color: #79B3E2;
  font-weight: bold; }

.service-header.service-type--bookVault {
  background-color: #79B3E2; }
  .service-header.service-type--bookVault .menu {
    background-color: #79B3E2; }

.service-sidebar.service-sidebar--bookVault {
  border-color: #79B3E2; }
  .service-sidebar.service-sidebar--bookVault .service-sidebar__image-service-name {
    color: #79B3E2; }

.sidebar-services-list .service-item--bookVault .service-item__description-service {
  color: #79B3E2; }

.service__item-group--bookVault .service__item-group__label {
  color: #79B3E2; }

.home-slider .slide-item.slide-item--bookVault,
.home-slider .slide-item-3-col.slide-item--bookVault {
  border-bottom: 13px solid #79B3E2; }
  .home-slider .slide-item.slide-item--bookVault .button,
  .home-slider .slide-item-3-col.slide-item--bookVault .button {
    background-color: #79B3E2; }

.home-services-section .services__item.service__item-group--bookVault {
  border-top-color: #79B3E2; }
  .home-services-section .services__item.service__item-group--bookVault .service__item-group__icon-container {
    border-color: #79B3E2 !important; }

.related-services .related-service.related-service--bookVault .button {
  background-color: #79B3E2; }

.related-services .related-service.related-service--bookVault .related-service__bg-container {
  border-color: #79B3E2; }

.container.service-type--bookGlobal .further-information__service-label {
  color: #CC2B17; }

.container.service-type--bookGlobal .service-banner .button {
  background-color: #CC2B17;
  color: #ffffff; }
  .container.service-type--bookGlobal .service-banner .button:hover {
    background-color: #a72313; }

.container.service-type--bookGlobal .landscape-cards .card-item .card-item__content .button {
  color: #CC2B17; }
  .container.service-type--bookGlobal .landscape-cards .card-item .card-item__content .button:after {
    background-position: -127px -29px; }

.container.service-type--bookGlobal .text-with-image .text-with-image__text-area .button {
  color: #CC2B17; }
  .container.service-type--bookGlobal .text-with-image .text-with-image__text-area .button:after {
    background-position: -127px -29px; }

.container.service-type--bookGlobal .video-with-text .button {
  color: #CC2B17; }
  .container.service-type--bookGlobal .video-with-text .button:after {
    background-position: -127px -29px; }

.container.service-type--bookGlobal .two-column-text-area .text-area .button {
  color: #CC2B17; }
  .container.service-type--bookGlobal .two-column-text-area .text-area .button:after {
    background-position: -127px -29px; }

.container.service-type--bookGlobal .statistics-panel .statistics-item .statistics-item__value {
  color: #CC2B17; }

.container.service-type--bookGlobal .further-information__column-text .button {
  background-color: #CC2B17; }

.container.service-type--bookGlobal .product-list .product-item .product-item__details .product-item__details-value {
  background-color: #CC2B17; }

.card-item.service-type--bookGlobal .card-item__image {
  background-color: #CC2B17; }

.card-item.service-type--bookGlobal .service-text-colour {
  color: #CC2B17;
  font-weight: bold; }

.service-header.service-type--bookGlobal {
  background-color: #CC2B17; }
  .service-header.service-type--bookGlobal .menu {
    background-color: #CC2B17; }

.service-sidebar.service-sidebar--bookGlobal {
  border-color: #CC2B17; }
  .service-sidebar.service-sidebar--bookGlobal .service-sidebar__image-service-name {
    color: #CC2B17; }

.sidebar-services-list .service-item--bookGlobal .service-item__description-service {
  color: #CC2B17; }

.service__item-group--bookGlobal .service__item-group__label {
  color: #CC2B17; }

.home-slider .slide-item.slide-item--bookGlobal,
.home-slider .slide-item-3-col.slide-item--bookGlobal {
  border-bottom: 13px solid #CC2B17; }
  .home-slider .slide-item.slide-item--bookGlobal .button,
  .home-slider .slide-item-3-col.slide-item--bookGlobal .button {
    background-color: #CC2B17; }

.home-services-section .services__item.service__item-group--bookGlobal {
  border-top-color: #CC2B17; }
  .home-services-section .services__item.service__item-group--bookGlobal .service__item-group__icon-container {
    border-color: #CC2B17 !important; }

.related-services .related-service.related-service--bookGlobal .button {
  background-color: #CC2B17; }

.related-services .related-service.related-service--bookGlobal .related-service__bg-container {
  border-color: #CC2B17; }

.container.service-type--bookPublisher .further-information__service-label {
  color: #DCAF01; }

.container.service-type--bookPublisher .service-banner .button {
  background-color: #DCAF01;
  color: #ffffff; }
  .container.service-type--bookPublisher .service-banner .button:hover {
    background-color: #b38f01; }

.container.service-type--bookPublisher .landscape-cards .card-item .card-item__content .button {
  color: #DCAF01; }
  .container.service-type--bookPublisher .landscape-cards .card-item .card-item__content .button:after {
    background-position: -109px -29px; }

.container.service-type--bookPublisher .text-with-image .text-with-image__text-area .button {
  color: #DCAF01; }
  .container.service-type--bookPublisher .text-with-image .text-with-image__text-area .button:after {
    background-position: -109px -29px; }

.container.service-type--bookPublisher .video-with-text .button {
  color: #DCAF01; }
  .container.service-type--bookPublisher .video-with-text .button:after {
    background-position: -109px -29px; }

.container.service-type--bookPublisher .two-column-text-area .text-area .button {
  color: #DCAF01; }
  .container.service-type--bookPublisher .two-column-text-area .text-area .button:after {
    background-position: -109px -29px; }

.container.service-type--bookPublisher .statistics-panel .statistics-item .statistics-item__value {
  color: #DCAF01; }

.container.service-type--bookPublisher .further-information__column-text .button {
  background-color: #DCAF01; }

.container.service-type--bookPublisher .product-list .product-item .product-item__details .product-item__details-value {
  background-color: #DCAF01; }

.card-item.service-type--bookPublisher .card-item__image {
  background-color: #DCAF01; }

.card-item.service-type--bookPublisher .service-text-colour {
  color: #DCAF01;
  font-weight: bold; }

.service-header.service-type--bookPublisher {
  background-color: #DCAF01; }
  .service-header.service-type--bookPublisher .menu {
    background-color: #DCAF01; }

.service-sidebar.service-sidebar--bookPublisher {
  border-color: #DCAF01; }
  .service-sidebar.service-sidebar--bookPublisher .service-sidebar__image-service-name {
    color: #DCAF01; }

.sidebar-services-list .service-item--bookPublisher .service-item__description-service {
  color: #DCAF01; }

.service__item-group--bookPublisher .service__item-group__label {
  color: #DCAF01; }

.home-slider .slide-item.slide-item--bookPublisher,
.home-slider .slide-item-3-col.slide-item--bookPublisher {
  border-bottom: 13px solid #DCAF01; }
  .home-slider .slide-item.slide-item--bookPublisher .button,
  .home-slider .slide-item-3-col.slide-item--bookPublisher .button {
    background-color: #DCAF01; }

.home-services-section .services__item.service__item-group--bookPublisher {
  border-top-color: #DCAF01; }
  .home-services-section .services__item.service__item-group--bookPublisher .service__item-group__icon-container {
    border-color: #DCAF01 !important; }

.related-services .related-service.related-service--bookPublisher .button {
  background-color: #DCAF01; }

.related-services .related-service.related-service--bookPublisher .related-service__bg-container {
  border-color: #DCAF01; }

.container.service-type--bookPublish .further-information__service-label {
  color: #DCAF01; }

.container.service-type--bookPublish .service-banner .button {
  background-color: #DCAF01;
  color: #ffffff; }
  .container.service-type--bookPublish .service-banner .button:hover {
    background-color: #b38f01; }

.container.service-type--bookPublish .landscape-cards .card-item .card-item__content .button {
  color: #DCAF01; }

.container.service-type--bookPublish .text-with-image .text-with-image__text-area .button {
  color: #DCAF01; }

.container.service-type--bookPublish .video-with-text .button {
  color: #DCAF01; }

.container.service-type--bookPublish .two-column-text-area .text-area .button {
  color: #DCAF01; }

.container.service-type--bookPublish .statistics-panel .statistics-item .statistics-item__value {
  color: #DCAF01; }

.container.service-type--bookPublish .further-information__column-text .button {
  background-color: #DCAF01; }

.container.service-type--bookPublish .product-list .product-item .product-item__details .product-item__details-value {
  background-color: #DCAF01; }

.card-item.service-type--bookPublish .card-item__image {
  background-color: #DCAF01; }

.card-item.service-type--bookPublish .service-text-colour {
  color: #DCAF01;
  font-weight: bold; }

.service-header.service-type--bookPublish {
  background-color: #DCAF01; }
  .service-header.service-type--bookPublish .menu {
    background-color: #DCAF01; }

.service-sidebar.service-sidebar--bookPublish {
  border-color: #DCAF01; }
  .service-sidebar.service-sidebar--bookPublish .service-sidebar__image-service-name {
    color: #DCAF01; }

.sidebar-services-list .service-item--bookPublish .service-item__description-service {
  color: #DCAF01; }

.service__item-group--bookPublish .service__item-group__label {
  color: #DCAF01; }

.home-slider .slide-item.slide-item--bookPublish,
.home-slider .slide-item-3-col.slide-item--bookPublish {
  border-bottom: 13px solid #DCAF01; }
  .home-slider .slide-item.slide-item--bookPublish .button,
  .home-slider .slide-item-3-col.slide-item--bookPublish .button {
    background-color: #DCAF01; }

.home-services-section .services__item.service__item-group--bookPublish {
  border-top-color: #DCAF01; }
  .home-services-section .services__item.service__item-group--bookPublish .service__item-group__icon-container {
    border-color: #DCAF01 !important; }

.related-services .related-service.related-service--bookPublish .button {
  background-color: #DCAF01; }

.related-services .related-service.related-service--bookPublish .related-service__bg-container {
  border-color: #DCAF01; }

.container.service-type--bookShop .further-information__service-label {
  color: #263689; }

.container.service-type--bookShop .service-banner .button {
  background-color: #263689;
  color: #ffffff; }
  .container.service-type--bookShop .service-banner .button:hover {
    background-color: #1d2969; }

.container.service-type--bookShop .landscape-cards .card-item .card-item__content .button {
  color: #263689; }
  .container.service-type--bookShop .landscape-cards .card-item .card-item__content .button:after {
    background-position: -133px -29px; }

.container.service-type--bookShop .text-with-image .text-with-image__text-area .button {
  color: #263689; }
  .container.service-type--bookShop .text-with-image .text-with-image__text-area .button:after {
    background-position: -133px -29px; }

.container.service-type--bookShop .video-with-text .button {
  color: #263689; }
  .container.service-type--bookShop .video-with-text .button:after {
    background-position: -133px -29px; }

.container.service-type--bookShop .two-column-text-area .text-area .button {
  color: #263689; }
  .container.service-type--bookShop .two-column-text-area .text-area .button:after {
    background-position: -133px -29px; }

.container.service-type--bookShop .statistics-panel .statistics-item .statistics-item__value {
  color: #263689; }

.container.service-type--bookShop .further-information__column-text .button {
  background-color: #263689; }

.container.service-type--bookShop .product-list .product-item .product-item__details .product-item__details-value {
  background-color: #263689; }

.card-item.service-type--bookShop .card-item__image {
  background-color: #263689; }

.card-item.service-type--bookShop .service-text-colour {
  color: #263689;
  font-weight: bold; }

.service-header.service-type--bookShop {
  background-color: #263689; }
  .service-header.service-type--bookShop .menu {
    background-color: #263689; }

.service-sidebar.service-sidebar--bookShop {
  border-color: #263689; }
  .service-sidebar.service-sidebar--bookShop .service-sidebar__image-service-name {
    color: #263689; }

.sidebar-services-list .service-item--bookShop .service-item__description-service {
  color: #263689; }

.service__item-group--bookShop .service__item-group__label {
  color: #263689; }

.home-slider .slide-item.slide-item--bookShop,
.home-slider .slide-item-3-col.slide-item--bookShop {
  border-bottom: 13px solid #263689; }
  .home-slider .slide-item.slide-item--bookShop .button,
  .home-slider .slide-item-3-col.slide-item--bookShop .button {
    background-color: #263689; }

.home-services-section .services__item.service__item-group--bookShop {
  border-top-color: #263689; }
  .home-services-section .services__item.service__item-group--bookShop .service__item-group__icon-container {
    border-color: #263689 !important; }

.related-services .related-service.related-service--bookShop .button {
  background-color: #263689; }

.related-services .related-service.related-service--bookShop .related-service__bg-container {
  border-color: #263689; }

.container.service-type--bookSell .further-information__service-label {
  color: #263689; }

.container.service-type--bookSell .service-banner .button {
  background-color: #263689;
  color: #ffffff; }
  .container.service-type--bookSell .service-banner .button:hover {
    background-color: #1d2969; }

.container.service-type--bookSell .landscape-cards .card-item .card-item__content .button {
  color: #263689; }

.container.service-type--bookSell .text-with-image .text-with-image__text-area .button {
  color: #263689; }

.container.service-type--bookSell .video-with-text .button {
  color: #263689; }

.container.service-type--bookSell .two-column-text-area .text-area .button {
  color: #263689; }

.container.service-type--bookSell .statistics-panel .statistics-item .statistics-item__value {
  color: #263689; }

.container.service-type--bookSell .further-information__column-text .button {
  background-color: #263689; }

.container.service-type--bookSell .product-list .product-item .product-item__details .product-item__details-value {
  background-color: #263689; }

.card-item.service-type--bookSell .card-item__image {
  background-color: #263689; }

.card-item.service-type--bookSell .service-text-colour {
  color: #263689;
  font-weight: bold; }

.service-header.service-type--bookSell {
  background-color: #263689; }
  .service-header.service-type--bookSell .menu {
    background-color: #263689; }

.service-sidebar.service-sidebar--bookSell {
  border-color: #263689; }
  .service-sidebar.service-sidebar--bookSell .service-sidebar__image-service-name {
    color: #263689; }

.sidebar-services-list .service-item--bookSell .service-item__description-service {
  color: #263689; }

.service__item-group--bookSell .service__item-group__label {
  color: #263689; }

.home-slider .slide-item.slide-item--bookSell,
.home-slider .slide-item-3-col.slide-item--bookSell {
  border-bottom: 13px solid #263689; }
  .home-slider .slide-item.slide-item--bookSell .button,
  .home-slider .slide-item-3-col.slide-item--bookSell .button {
    background-color: #263689; }

.home-services-section .services__item.service__item-group--bookSell {
  border-top-color: #263689; }
  .home-services-section .services__item.service__item-group--bookSell .service__item-group__icon-container {
    border-color: #263689 !important; }

.related-services .related-service.related-service--bookSell .button {
  background-color: #263689; }

.related-services .related-service.related-service--bookSell .related-service__bg-container {
  border-color: #263689; }

.portrait-cards .team-card {
  position: relative;
  margin-bottom: 2.34375rem; }
  .portrait-cards .team-card .card__image {
    position: relative;
    overflow: initial; }
    .portrait-cards .team-card .card__image img {
      transition: none; }
    .portrait-cards .team-card .card__image:hover img {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
  .portrait-cards .team-card.team-card--has-bio .card__image .mobile-overlay-trigger {
    display: inline-block;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -1.5625rem;
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 1000px;
    z-index: 3;
    background-color: #DDDDDD; }
    @media print, screen and (min-width: 64em) {
      .portrait-cards .team-card.team-card--has-bio .card__image .mobile-overlay-trigger {
        display: none !important; } }
    .portrait-cards .team-card.team-card--has-bio .card__image .mobile-overlay-trigger:before {
      content: '';
      display: inline-block;
      height: 0.4375rem;
      width: 0.8125rem;
      background-image: url("../images/podw-sprite.svg");
      background-position: -387px -5px;
      background-repeat: no-repeat;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background-size: 482px 66px;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
  .portrait-cards .team-card.team-card--has-bio.opened {
    box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5); }
    .portrait-cards .team-card.team-card--has-bio.opened .mobile-overlay-trigger {
      top: 0; }
      .portrait-cards .team-card.team-card--has-bio.opened .mobile-overlay-trigger:before {
        display: inline-block;
        height: 0.4375rem;
        width: 0.8125rem;
        background-image: url("../images/podw-sprite.svg");
        background-position: -387px -13px;
        background-repeat: no-repeat;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: 482px 66px; }
    .portrait-cards .team-card.team-card--has-bio.opened .team-card__biography {
      overflow-y: auto;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; }
  @media print, screen and (min-width: 64em) {
    .portrait-cards .team-card.team-card--has-bio:hover {
      box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5); }
      .portrait-cards .team-card.team-card--has-bio:hover .team-card__biography {
        opacity: 1; } }
  .portrait-cards .team-card .team-card__biography {
    overflow-y: auto;
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
  .portrait-cards .team-card .team-card__biography {
    z-index: 2;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ffffff;
    padding: 1.875rem;
    text-align: left;
    opacity: 0;
    transition: opacity .2s ease-in-out; }
    .portrait-cards .team-card .team-card__biography a {
      color: #555555; }
    .portrait-cards .team-card .team-card__biography .team-card__biography-title-wrapper {
      position: relative; }
      .portrait-cards .team-card .team-card__biography .team-card__biography-title-wrapper .team-card__biography-social-accounts {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        right: 0;
        top: 0; }
        .portrait-cards .team-card .team-card__biography .team-card__biography-title-wrapper .team-card__biography-social-accounts .team-social-icon--twitter {
          display: inline-block;
          height: 1.0625rem;
          width: 1.3125rem;
          background-image: url("../images/podw-sprite.svg");
          background-position: -118px -47px;
          background-repeat: no-repeat;
          text-indent: 100%;
          white-space: nowrap;
          overflow: hidden;
          background-size: 482px 66px; }
        .portrait-cards .team-card .team-card__biography .team-card__biography-title-wrapper .team-card__biography-social-accounts .team-social-icon--linkedin {
          display: inline-block;
          height: 1.3125rem;
          width: 1.3125rem;
          background-image: url("../images/podw-sprite.svg");
          background-position: -365px -2px;
          background-repeat: no-repeat;
          text-indent: 100%;
          white-space: nowrap;
          overflow: hidden;
          background-size: 482px 66px;
          margin-left: 0.625rem; }
    .portrait-cards .team-card .team-card__biography .team-card__biography-title {
      font-size: 1.25rem;
      margin-top: 0;
      padding-right: 2.5rem; }
    .portrait-cards .team-card .team-card__biography .team-card__biography-contact-details p {
      margin-bottom: 0.625rem; }
      .portrait-cards .team-card .team-card__biography .team-card__biography-contact-details p:last-child {
        margin-bottom: 0.9375rem; }

.article .article__content {
  padding: 0 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .article .article__content {
      padding: 0 0; } }
  .article .article__content .article__content-title {
    line-height: 1.3;
    font-size: 2.25rem;
    margin-top: 1.5625rem;
    margin-bottom: 1.5625rem; }
    @media print, screen and (min-width: 40em) {
      .article .article__content .article__content-title {
        font-size: 3rem; } }
    @media print, screen and (min-width: 64em) {
      .article .article__content .article__content-title {
        font-size: 3.5rem;
        margin-top: 1.875rem;
        margin-bottom: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .article .article__content h3 {
      font-size: 1.75rem; } }
  .article .article__content .article__content-image {
    margin-bottom: 2.8125rem; }
  .article .article__content .article__content-social {
    margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .article .article__content .article__content-text {
      margin-bottom: 2.8125rem; } }

.single-event .article__content .article__content-title {
  margin-top: 0; }

.article__author-meta-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .article__author-meta-details {
      padding: 0 0; } }
  .article__author-meta-details .article__author {
    display: inline-block;
    border-radius: 1000px;
    overflow: hidden;
    border: 2px solid #ffffff;
    box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5);
    margin-right: 1.875rem;
    width: 4.6875rem; }
    .article__author-meta-details .article__author img {
      width: 4.6875rem; }
  .article__author-meta-details .article__meta-trail {
    margin-bottom: 0;
    color: #546776; }
    .article__author-meta-details .article__meta-trail .separator {
      font-weight: 300;
      margin: 0 0.25rem; }
    .article__author-meta-details .article__meta-trail span {
      font-weight: bold; }

.featured-article-container {
  margin-bottom: 1.875rem;
  margin-top: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .featured-article-container {
      margin-top: 4.6875rem; } }
  .featured-article-container .featured-article-cell {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .featured-article-container .featured-article {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-position: center center;
    background-size: cover;
    border: 7px solid #FFFFFF;
    background-color: rgba(85, 85, 85, 0.6);
    box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5);
    background-blend-mode: multiply;
    color: #ffffff;
    text-align: center;
    min-height: 22.5rem;
    padding: 2.34375rem 1.875rem;
    width: 100%;
    background-repeat: no-repeat; }
    .is-ie .featured-article-container .featured-article:after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 100%;
      opacity: 0.3;
      background-color: #0a0a0a; }
    .featured-article-container .featured-article:before {
      content: 'New';
      position: absolute;
      left: 0.9375rem;
      top: 0.9375rem;
      padding: 0.125rem 0.5rem;
      color: #ffffff;
      font-size: 0.8125rem;
      letter-spacing: 1px;
      text-transform: uppercase;
      font-weight: bold;
      background-color: #43B130; }
    @media print, screen and (min-width: 40em) {
      .featured-article-container .featured-article {
        min-height: 22.5rem; } }
    @media print, screen and (min-width: 64em) {
      .featured-article-container .featured-article {
        min-height: 27.625rem; } }
    @media screen and (min-width: 75em) {
      .featured-article-container .featured-article {
        min-height: 35rem; } }
    .featured-article-container .featured-article .featured-article__author {
      display: inline-block;
      border-radius: 1000px;
      overflow: hidden;
      border: 2px solid #ffffff;
      margin-bottom: 1.875rem;
      box-shadow: 0 0 20px 0 rgba(153, 153, 153, 0.5); }
      .featured-article-container .featured-article .featured-article__author img {
        width: 4.6875rem; }
    .featured-article-container .featured-article .featured-article__title {
      position: relative;
      line-height: 1.2;
      margin-top: 0;
      padding-bottom: 1.875rem;
      font-size: 2.25rem;
      z-index: 2; }
      .featured-article-container .featured-article .featured-article__title a {
        color: #ffffff; }
      @media print, screen and (min-width: 40em) {
        .featured-article-container .featured-article .featured-article__title {
          font-size: 3rem; } }
      @media print, screen and (min-width: 64em) {
        .featured-article-container .featured-article .featured-article__title {
          font-size: 3.5rem; } }
      .featured-article-container .featured-article .featured-article__title:after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: 0;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        border-bottom: 6px solid #ffffff;
        width: 2.5rem; }
    .featured-article-container .featured-article .featured-article__meta-trail {
      font-size: 1.25rem;
      margin-bottom: 0;
      z-index: 2; }
      .featured-article-container .featured-article .featured-article__meta-trail .separator {
        font-weight: 300;
        margin: 0 0.3125rem; }
      .featured-article-container .featured-article .featured-article__meta-trail span {
        font-weight: bold; }

.archive-search-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 1.875rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .archive-search-container {
      padding-top: 0; } }
  .archive-search-container .input-container {
    max-width: 21.25rem;
    margin: 0.625rem 0.9375rem; }
    @media screen and (min-width: 30em) {
      .archive-search-container .input-container {
        min-width: 21.25rem; } }
    .archive-search-container .input-container label {
      display: none; }
  .archive-search-container select, .archive-search-container input {
    margin-bottom: 0;
    border-color: #DDDDDD;
    border-radius: 2px;
    color: #555555;
    box-shadow: none; }

.history-rows {
  padding: 0 0.9375rem; }
  @media print, screen and (min-width: 64em) {
    .history-rows {
      padding: 0 0; } }
  .history-rows .history-item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 64em) {
      .history-rows .history-item {
        text-align: left;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        min-height: 9.375rem; } }
    .history-rows .history-item .history-item__year {
      position: relative; }
      @media print, screen and (min-width: 64em) {
        .history-rows .history-item .history-item__year {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end;
          text-align: right;
          -webkit-flex: 0 0 40%;
              -ms-flex: 0 0 40%;
                  flex: 0 0 40%;
          width: 40%; }
          .history-rows .history-item .history-item__year:before {
            content: '';
            background-image: url("../images/history-timeline-oval.svg");
            background-repeat: no-repeat;
            height: 2.625rem;
            width: 2.625rem;
            position: absolute;
            right: 2.9375rem;
            top: 0;
            z-index: 3; }
          .history-rows .history-item .history-item__year:after {
            content: '';
            background-image: url("../images/repeatable-history-dash.jpg");
            background-repeat: repeat-y;
            width: 0.4375rem;
            height: 100%;
            position: absolute;
            right: 4.0625rem;
            top: 0; } }
      .history-rows .history-item .history-item__year .history-item__year-label {
        font-weight: 700;
        display: inline-block;
        line-height: 1;
        color: #546776;
        margin-bottom: 0.9375rem;
        font-size: 2rem; }
        @media print, screen and (min-width: 64em) {
          .history-rows .history-item .history-item__year .history-item__year-label {
            padding-right: 8.125rem; } }
        @media screen and (min-width: 75em) {
          .history-rows .history-item .history-item__year .history-item__year-label {
            margin-bottom: 0;
            font-size: 3rem; } }
    .history-rows .history-item .history-item__description p {
      font-size: 1rem; }
      .history-rows .history-item .history-item__description p:last-child {
        margin-bottom: 2.8125rem; }

.history-outro {
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .history-outro {
      margin-bottom: 3.75rem; } }
  .history-outro .history-outro__inner {
    background-color: #F3F3F3;
    padding: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .history-outro .history-outro__inner {
        padding: 3.75rem; } }
    .history-outro .history-outro__inner p:last-child {
      margin-bottom: 0; }
    .history-outro .history-outro__inner .history-outro__inner-title {
      margin-top: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsImdsb2JhbC9fYmFzZS10eXBvZ3JhcGh5LnNjc3MiLCJnbG9iYWwvX3BhZ2Utc3R5bGVzLnNjc3MiLCJtb2R1bGVzL19uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL19mb290ZXIuc2NzcyIsImdsb2JhbC9fbWl4aW5zLnNjc3MiLCJtb2R1bGVzL190YWJiYXIuc2NzcyIsIm1vZHVsZXMvX2hlYWRlci1nbG9iYWwuc2NzcyIsIm1vZHVsZXMvX3RvcC1iYXIuc2NzcyIsIm1vZHVsZXMvX21lZ2EtbWVudS5zY3NzIiwibW9kdWxlcy9fcHJlaGVhZGVyLnNjc3MiLCJtb2R1bGVzL19mdWxsc2NyZWVuLW5hdmlnYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX3N3aXBlci1zdHlsZXMuc2NzcyIsImNvbXBvbmVudHMvX2Z0ZC1zaGFyZS5zY3NzIiwiY29tcG9uZW50cy9fc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC11cy5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS1zdHlsZXMuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0tdmFsaWRhdGlvbi1zdHlsZXMuc2NzcyIsImNvbXBvbmVudHMvX3NlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9fYW5pbWF0ZS5zY3NzIiwiY29tcG9uZW50cy9fY29sb3VyLW92ZXJyaWRlcy5zY3NzIiwiY29tcG9uZW50cy9fdXRpbGl0aWVzLnNjc3MiLCJjb21wb25lbnRzL19wcmludC1zdHlsZXNoZWV0LnNjc3MiLCJjb21wb25lbnRzL19pbWFnZS1zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2Jsb2NrcXVvdGUuc2NzcyIsImNvbXBvbmVudHMvX25vdGljZS1tZXNzYWdlLnNjc3MiLCJjb21wb25lbnRzL190YWJsZS1zdHlsZXMuc2NzcyIsImNvbXBvbmVudHMvX3JlYWN0LXNlYXJjaC5zY3NzIiwiY29tcG9uZW50cy9fdmlzaW9ucy1ibG9jay5zY3NzIiwiY29tcG9uZW50cy9fc2l0ZS1jdGEtbGlua3Muc2NzcyIsImNvbXBvbmVudHMvX2xhenlsb2FkLnNjc3MiLCJjb21wb25lbnRzL19pcy1pZS5zY3NzIiwiY29tcG9uZW50cy9faXMtc2FmYXJpLnNjc3MiLCJjb21wb25lbnRzL19jb29raWUtbm90aWNlLnNjc3MiLCJjb21wb25lbnRzL2hvbWUvX2hvbWUtc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL2hvbWUvX2hvbWUtc2VydmljZXMtc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9ob21lL19ob21lLWxhdGVzdC1mZWVkLnNjc3MiLCJjb21wb25lbnRzL2hvbWUvX2hvbWUtbGF0ZXN0LXR3ZWV0cy1zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvcmVzb3VyY2UvcmVzb3VyY2UtY2F0ZWdvcmllcy5zY3NzIiwiY29tcG9uZW50cy9yZXNvdXJjZS9fcmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxzLnNjc3MiLCJjb21wb25lbnRzL2V2ZW50L19ldmVudC1zaW5nbGUuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL19nbG9iYWwtcm93LXN0eWxlLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9fYmxvY2stYW5pbWF0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvaGVyby1jb250ZW50L19oZXJvLWJhbm5lci5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvaGVyby1jb250ZW50L19oZXJvLWxhbmRpbmctYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvX3R3by1jb2x1bW4tdGV4dC1hcmVhLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvX2NvbnN0cmFpbmVkLXRleHQtYXJlYS5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvbWFpbi1jb250ZW50L190ZXh0LXdpdGgtaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9fcG9ydHJhaXQtY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9fbGFuZHNjYXBlLWNhcmRzLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvX3JlbGF0ZWQtc2VydmljZXMuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9fZnVsbHdpZHRoLXN0YXRpc3RpY3MtcGFuZWwuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9fdGVzdGltb25pYWwtYmxvY2suc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9fdmlkZW8td2l0aC10ZXh0LnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvX3NlcnZpY2UtZnVsbHdpZHRoLWNoaWxkLXBhZ2UtbGluay5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvbWFpbi1jb250ZW50L19wcm9jZXNzLWRpYWdyYW0uc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9fcHJvZHVjdC1saXN0LnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvX2dhbGxlcnktc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvX3NlcnZpY2UtYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvX2Z1cnRoZXItaW5mb3JtYXRpb24uc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9fYm9vay1jb3ZlcnMtc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvX2xhbmRpbmctc3RyaXAuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL3NlcnZpY2UvX3NlcnZpY2UtaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9zZXJ2aWNlL19zZXJ2aWNlLWNvbG91ci1vdmVycmlkZS5zY3NzIiwiY29tcG9uZW50cy90ZWFtL190ZWFtLWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvYXJ0aWNsZS9fYXJ0aWNsZS5zY3NzIiwiY29tcG9uZW50cy9hcnRpY2xlL19hcnRpY2xlLW1ldGEtdHJhaWwuc2NzcyIsImNvbXBvbmVudHMvYXJ0aWNsZS9fYXJ0aWNsZS1mZWF0dXJlZC5zY3NzIiwiY29tcG9uZW50cy9hcnRpY2xlL19hcmNoaXZlLXNlYXJjaC1jb250YWluZXIuc2NzcyIsImNvbXBvbmVudHMvaGlzdG9yeS9faGlzdG9yeS1yb3dzLnNjc3MiLCJjb21wb25lbnRzL2hpc3RvcnkvX2hpc3Rvcnktb3V0cm8uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUMwSkc7RUNuSEo7SUFDRSxZQUFZO0lBQ1osV0FBVztJQUNYLGVBQWUsRUFDaEIsRUFBQTs7QUNIRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWtCO0VBQUUsT0FBTztFQUU3QiwyQkFBMkI7RUFBRSxPQUFPO0VBQ3BDLCtCQUErQjtFQUFFLE9BQU8sRUFDekM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFVLEVBQ1g7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBZSxFQUNoQjs7QUFFRDs7O09BR0c7QUFFSDtFRTlFRixlQVhpQjtFRm9HWCxpQkFBaUIsRUFFcEI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFlLEVBQ2hCOztBQUVEOztPQUVHO0FBRUg7RUFLSSxpQkN2TFksRUR5TGY7O0FBRUQ7OztPQUdHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLFVBQVU7RUFBRSxPQUFPO0VBQ25CLGtCQUFrQjtFQUFFLE9BQU8sRUFDNUI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWUsRUFDaEI7O0FBYUQ7OztPQUdHO0FBRUg7RUFDRSxrQ0FBa0M7RUFBRSxPQUFPO0VBQzNDLGVBQWU7RUFBRSxPQUFPLEVBQ3pCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDtFQUNFLDhCQUE4QjtFQUFFLE9BQU87RUFDdkMsc0NBQXNDO0VBQUUsT0FBTyxFQUNoRDs7QUFFRDs7O09BR0c7QUFFSDs7RUFFRSxpQkFBaUIsRUFDbEI7O0FBSUQ7b0ZBQ2dGO0FBRWhGOzs7T0FHRztBQUVIO0VBQ0Usb0JBQW9CO0VBQUUsT0FBTztFQUM3QiwyQkFBMkI7RUFBRSxPQUFPO0VBQ3BDLGtDQUFrQztFQUFFLE9BQU8sRUFDNUM7O0FBRUQ7O09BRUc7QUFFSDs7RUFFRSxxQkFBcUIsRUFDdEI7O0FBRUQ7O09BRUc7QUFFSDs7RUFFRSxvQkFBb0IsRUFDckI7O0FBRUQ7OztPQUdHO0FBRUg7OztFQUdFLGtDQUFrQztFQUFFLE9BQU87RUFDM0MsZUFBZTtFQUFFLE9BQU8sRUFDekI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLG1CQUFtQixFQUNwQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsdUJBQXVCO0VBQ3ZCLFlBQVksRUFDYjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBZSxFQUNoQjs7QUFFRDs7O09BR0c7QUFFSDs7RUFFRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQix5QkFBeUIsRUFDMUI7O0FBRUQ7RUFDRSxnQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxZQUFZLEVBQ2I7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7O0VBRUUsc0JBQXNCLEVBQ3ZCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxjQUFjO0VBQ2QsVUFBVSxFQUNYOztBQUVEOztPQUVHO0FBRUg7RUFDRSxtQkFBbUIsRUFDcEI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGlCQUFpQixFQUNsQjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUg7Ozs7O0VBS0Usd0JDelp1QjtFRHlaUyxPQUFPO0VBQ3ZDLGdCQUFnQjtFQUFFLE9BQU87RUFLdkIsa0JBQWtCO0VBQUUsT0FBTztFQUU3QixVQUFVO0VBQUUsT0FBTyxFQUNwQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0Usa0JBQWtCLEVBQ25COztBQUVEOzs7T0FHRztBQUVIOztFQUNTLE9BQU87RUFDZCxxQkFBcUIsRUFDdEI7O0FBRUQ7Ozs7T0FJRztBQUVIOzs7O0VBSUUsMkJBQTJCO0VBQUUsT0FBTyxFQUNyQzs7QUFFRDs7OztFQUtFOztTQUVHO0VBT0g7O1NBRUcsRUFLSjtFQXJCRDs7OztJQVVJLG1CQUFtQjtJQUNuQixXQUFXLEVBQ1o7RUFaSDs7OztJQW1CSSwrQkFBK0IsRUFDaEM7O0FBR0g7O09BRUc7QUFFSDtFQUNFLGtCQUFrQixFQUNuQjs7QUFFRDs7O09BR0c7QUpyTVA7O0VJeU1NLHVCQUF1QjtFQUFFLE9BQU87RUFDaEMsV0FBVztFQUFFLE9BQU8sRUFDckI7O0FBRUQ7O09BRUc7QUpyTVA7O0VJeU1NLGFBQWEsRUFDZDs7QUFFRDs7O09BR0c7QUp2TVA7RUkwTU0sOEJBQThCO0VBQUUsT0FBTztFQUN2QyxxQkFBcUI7RUFBRSxPQUFPO0VBRTlCOztTQUVHLEVBTUo7RUo3TUg7SUkyTU0seUJBQXlCLEVBQzFCOztBQUdIOzs7T0FHRztBQUVIO0VBQ0UsMkJBQTJCO0VBQUUsT0FBTztFQUNwQyxjQUFjO0VBQUUsT0FBTyxFQUN4Qjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsMEJBQTBCO0VBQzFCLGNBQWM7RUFDZCwrQkFBK0IsRUFDaEM7O0FBRUQ7Ozs7O09BS0c7QUFFSDtFQUNFLHVCQUF1QjtFQUFFLE9BQU87RUFDaEMsZUFBZTtFQUFFLE9BQU87RUFDeEIsZ0JBQWdCO0VBQUUsT0FBTztFQUN6QixXQUFXO0VBQUUsT0FBTztFQUNwQixlQUFlO0VBQUUsT0FBTztFQUN4QixvQkFBb0I7RUFBRSxPQUFPLEVBQzlCOztBQUVEOzs7T0FHRztBQUVIO0VBQ0Usc0JBQXNCO0VBQUUsT0FBTztFQUMvQix5QkFBeUI7RUFBRSxPQUFPLEVBQ25DOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFlLEVBQ2hCOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0UsZUFBZSxFQUNoQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFlLEVBcUJoQjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLHNCQUFzQixFQUN2Qjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsY0FBYyxFQUNmOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBSmxQUDtFSXFQTSxjQUFjLEVBQ2Y7O0FHM2hCSDtFQUNFLDRGQUFnRCxFQUNqRDs7QUFFRDtFQUNFLHVCQUF1QjtFQUN2QixnQkN0Qm1CLEVEdUJwQjs7QUFHRDs7O0VBR0Usb0JBQW9CLEVBQ3JCOztBQUdEO0VBQ0UsVUFBVTtFQUNWLFdBQVc7RUFFWCxvQkN2Qlc7RUR5Qlgsb0ZDM0Z5RztFRDRGekcsaUJDMUZzQztFRDJGdEMsaUJDdkNtQjtFRHdDbkIsZUM3RXlCO0VEZ0Z2QixvQ0FBb0M7RUFDcEMsbUNBQW1DLEVBRXRDOztBQUVEO0VBRUUsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUd2QixnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLGdDQUFnQyxFQUNqQzs7QUFHRDtFQUNFLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsaUJDeENhLEVEeUNkOztBQUdEO0VBQ0UsdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWixpQkMvQ2EsRURnRGQ7O0FBSUQ7Ozs7OztFQUtJLDJCQUEyQixFQUM1Qjs7QUFJSDtFQUdFLFdBQVc7RUFFWCx5QkFBaUI7VUFBakIsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixpQkNyRWE7RURzRWIsd0JBQXdCO0VBRXhCLGVBQWUsRUFDaEI7RVA2UUQ7SVN6UkUsV0FBVyxFQUNaOztBRmNEO0VBQ0UsZUFBZSxFQUNoQjs7QUFHRDs7Ozs7RUFLRSxxQkFBcUIsRUFDdEI7O0FBR0Q7RUFDRSwwQkFBMEIsRUFDM0I7O0FBRUQ7RUFDRSx5QkFBeUIsRUFDMUI7O0FHbk9EO0VDRUEsa0JDMEVvQjtFRHpFcEIsZUFBZSxFRERkOztBQUVEO0VDWUksd0JDNERnQjtFRDNEaEIseUJDMkRnQixFRnRFbkI7RVI2SUc7SVEvSUo7TUNZSSxzQkM0RGdCO01EM0RoQix1QkMyRGdCLEVGdEVuQixFQUFBO0VSa0pHO0lRcEpKO01DcUJFLGdCQUFnQjtNQUNoQixpQkFBaUIsRURwQmxCLEVBQUE7O0FBR0Q7RUNnQ0Esc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCw0QkFIcUI7TUFHckIsd0JBSHFCO1VBR3JCLG9CQUhxQixFRDVCcEI7O0FBRUQ7RUd5QkUsdUJBQWU7TUFBZixtQkFBZTtVQUFmLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZUFBZTtFQWtDZixZQURvRCxFSGhEckQ7RUFaRDtJRzhCRSxzQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYyxFSHhCYjtFQU5IO0lHaUNFLHVCQUFlO1FBQWYsbUJBQWU7WUFBZixlQUFlLEVIdkJkOztBQUdIO0VHd0NFLFlBQW9CLEVIckNuQjs7QUFISDtFRzRDRSxZQUFvQixFSHJDbkI7O0FBU0Q7RUFNSSx5QkFBaUI7TUFBakIsOEJBQWlCO1VBQWpCLGlCQUFpQixFQUNsQjs7QVJrR0Q7RVF6R0Y7SUFNSSx5QkFBaUI7UUFBakIsOEJBQWlCO1lBQWpCLGlCQUFpQixFQUNsQixFQUFBOztBUmtHRDtFUXpHRjtJQU1JLHlCQUFpQjtRQUFqQiw4QkFBaUI7WUFBakIsaUJBQWlCLEVBQ2xCLEVBQUE7O0FSdUdEO0VROUdGO0lBTUkseUJBQWlCO1FBQWpCLDhCQUFpQjtZQUFqQixpQkFBaUIsRUFDbEIsRUFBQTs7QUFtQkQ7RUdNRixnQkFEb0QsRUhIakQ7O0FBRkQ7RUdNRixpQkFEb0QsRUhIakQ7O0FBRkQ7RUdNRixXQURvRCxFSEhqRDs7QUFGRDtFR01GLGlCQURvRCxFSEhqRDs7QUFGRDtFR01GLGlCQURvRCxFSEhqRDs7QUFGRDtFR01GLFdBRG9ELEVISGpEOztBQUZEO0VHTUYsaUJBRG9ELEVISGpEOztBQUZEO0VHTUYsaUJBRG9ELEVISGpEOztBQUZEO0VHTUYsV0FEb0QsRUhIakQ7O0FBRkQ7RUdNRixpQkFEb0QsRUhIakQ7O0FBRkQ7RUdNRixpQkFEb0QsRUhIakQ7O0FBRkQ7RUdNRixZQURvRCxFSEhqRDs7QVI2RUQ7RVE1RkE7SUdaRixzQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztJQXVCZCxZQUFvQixFSFJqQjtFQUVEO0lHZEYsdUJBQWU7UUFBZixtQkFBZTtZQUFmLGVBQWU7SUF3QmYsWUFBb0IsRUhQakI7RUFLRDtJR01GLGdCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixZQURvRCxFSEhqRCxFQUFBOztBUjZFRDtFUTVGQTtJR1pGLHNCQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0lBdUJkLFlBQW9CLEVIUmpCO0VBRUQ7SUdkRix1QkFBZTtRQUFmLG1CQUFlO1lBQWYsZUFBZTtJQXdCZixZQUFvQixFSFBqQjtFQUtEO0lHTUYsZ0JBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFlBRG9ELEVISGpELEVBQUE7O0FSa0ZEO0VRakdBO0lHWkYsc0JBQWM7UUFBZCxrQkFBYztZQUFkLGNBQWM7SUF1QmQsWUFBb0IsRUhSakI7RUFFRDtJR2RGLHVCQUFlO1FBQWYsbUJBQWU7WUFBZixlQUFlO0lBd0JmLFlBQW9CLEVIUGpCO0VBS0Q7SUdNRixnQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsWUFEb0QsRUhIakQsRUFBQTs7QUFLTDtFQUNFLFlBQVksRUFDYjs7QUFHRDtFQUNFLGFBQWEsRUFDZDs7QUE2QkQ7RUkzRk0sd0JBQTRCO0VBQTVCLHlCQUE0QixFSjBIakM7RVJLRztJUXBDSjtNSTNGTSxzQkFBNEI7TUFBNUIsdUJBQTRCLEVKMEhqQyxFQUFBO0VBL0JEO0lHaERFLDZCQUR3QztJQ2pDdEMsdUJBQTRCO0lBQTVCLHdCQUE0QixFSndGN0I7RVI4QkM7SVFwQ0o7TUdoREUsMkJBRHdDO01DakN0QyxxQkFBNEI7TUFBNUIsc0JBQTRCLEVKK0Z6QixFQUFBO0VBckNMO0lHckJBLFlBQW9CLEVIdUJyQjtFQUVDO0lHckJBLFlBQW9CLEVIdUJyQjtFQU1HO0lHekJGLGlDQUQwRCxFSDRCekQ7RUFGQztJR3pCRixrQ0FEMEQsRUg0QnpEO0VBRkM7SUd6QkYsNEJBRDBELEVINEJ6RDtFQUZDO0lHekJGLGtDQUQwRCxFSDRCekQ7RUFGQztJR3pCRixrQ0FEMEQsRUg0QnpEO0VBRkM7SUd6QkYsNEJBRDBELEVINEJ6RDtFQUZDO0lHekJGLGtDQUQwRCxFSDRCekQ7RUFGQztJR3pCRixrQ0FEMEQsRUg0QnpEO0VBRkM7SUd6QkYsNEJBRDBELEVINEJ6RDtFQUZDO0lHekJGLGtDQUQwRCxFSDRCekQ7RUFGQztJR3pCRixrQ0FEMEQsRUg0QnpEO0VBRkM7SUd6QkYsNkJBRDBELEVINEJ6RDtFUjhDQztJUTVERjtNR3JCQSxZQUFvQixFSHVCckI7SUFFQztNR3JCQSxZQUFvQixFSHVCckI7SUFNRztNR3pCRiwrQkFEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFkRDtNR3JCQSxZQUFvQixFSHVCckI7SUFFQztNR3JCQSxZQUFvQixFSHVCckI7SUFNRztNR3pCRiwrQkFEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQsRUFBQTtFUjhDQztJUTVERjtNR3JCQSxZQUFvQixFSHVCckI7SUFFQztNR3JCQSxZQUFvQixFSHVCckI7SUFNRztNR3pCRiwrQkFEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQsRUFBQTtFUm1EQztJUWpFRjtNR3JCQSxZQUFvQixFSHVCckI7SUFFQztNR3JCQSxZQUFvQixFSHVCckI7SUFNRztNR3pCRiwrQkFEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDBCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsZ0NBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQsRUFBQTs7QUE4Q0g7RUkvSE0seUJBQTRCO0VBQTVCLHdCQUE0QixFSm9JL0I7RVJMQztJUUFKO01JL0hNLHVCQUE0QjtNQUE1QixzQkFBNEIsRUpvSS9CLEVBQUE7O0FBTEg7RUkvSE0seUJBQTRCO0VBQTVCLHdCQUE0QixFSnlJL0I7RVJWQztJUUFKO01JL0hNLHVCQUE0QjtNQUE1QixzQkFBNEIsRUp5SS9CLEVBQUE7O0FLNUlDO0VGeURGLFlBRG9ELEVFdERyRDs7QUFGRztFRnlERixXQURvRCxFRXREckQ7O0FBRkc7RUZ5REYsaUJBRG9ELEVFdERyRDs7QUFGRztFRnlERixXQURvRCxFRXREckQ7O0FBRkc7RUZ5REYsV0FEb0QsRUV0RHJEOztBQUZHO0VGeURGLGlCQURvRCxFRXREckQ7O0FBRkc7RUZ5REYsaUJBRG9ELEVFdERyRDs7QUFGRztFRnlERixhQURvRCxFRXREckQ7O0FiZ0lHO0VhbElBO0lGeURGLFlBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLGFBRG9ELEVFdERyRCxFQUFBOztBYmdJRztFYWxJQTtJRnlERixZQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixhQURvRCxFRXREckQsRUFBQTs7QWJxSUc7RWF2SUE7SUZ5REYsWUFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsYUFEb0QsRUV0RHJELEVBQUE7O0FBRkc7RUZ5REYsNkJBRDBELEVFdEQzRDs7QUFGRztFRnlERiw0QkFEMEQsRUV0RDNEOztBQUZHO0VGeURGLGtDQUQwRCxFRXREM0Q7O0FBRkc7RUZ5REYsNEJBRDBELEVFdEQzRDs7QUFGRztFRnlERiw0QkFEMEQsRUV0RDNEOztBQUZHO0VGeURGLGtDQUQwRCxFRXREM0Q7O0FBRkc7RUZ5REYsa0NBRDBELEVFdEQzRDs7QUFGRztFRnlERiw4QkFEMEQsRUV0RDNEOztBYmdJRztFYWxJQTtJRnlERiwyQkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsMEJBRDBELEVFdEQzRDtFQUZHO0lGeURGLGdDQUQwRCxFRXREM0Q7RUFGRztJRnlERiwwQkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsMEJBRDBELEVFdEQzRDtFQUZHO0lGeURGLGdDQUQwRCxFRXREM0Q7RUFGRztJRnlERixnQ0FEMEQsRUV0RDNEO0VBRkc7SUZ5REYsNEJBRDBELEVFdEQzRDtFQUZHO0lGeURGLDJCQUQwRCxFRXREM0Q7RUFGRztJRnlERiwwQkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsZ0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLDBCQUQwRCxFRXREM0Q7RUFGRztJRnlERiwwQkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsZ0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLGdDQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNELEVBQUE7O0FiZ0lHO0VhbElBO0lGeURGLDJCQUQwRCxFRXREM0Q7RUFGRztJRnlERiwwQkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsZ0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLDBCQUQwRCxFRXREM0Q7RUFGRztJRnlERiwwQkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsZ0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLGdDQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNELEVBQUE7O0FicUlHO0VhdklBO0lGeURGLDJCQUQwRCxFRXREM0Q7RUFGRztJRnlERiwwQkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsZ0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLDBCQUQwRCxFRXREM0Q7RUFGRztJRnlERiwwQkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsZ0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLGdDQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNELEVBQUE7O0FMc0xHO0VNL0xBLGdCQUEyQjtFQUEzQixlQUEyQixFTmlNMUI7RU05TEM7SUFFRSxnQkFBMkI7SUFBM0IsZUFBMkIsRUFFOUI7RUFNRztJSG1ETixnQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFlBRG9ELEVHaEQvQztFQUZDO0lIbUROLGdCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sWUFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sZ0JBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixZQURvRCxF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RTlCO0lBTUc7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUht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cE5GLHdDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix5Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLGlCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsbUNBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHlDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix5Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLGlCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsbUNBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHlDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix5Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLGlCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsbUNBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHlDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix5Q0FBNkIsRVBzTjFCOztBUmhGRDtFUTBFQTtJT2hORixnQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsZ0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHNCQUE2QixFUGtOMUI7RUFFRDtJT3BORixzQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHVDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsaUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix1Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHVDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsaUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix1Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHVDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsaUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix1Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHVDQUE2QixFUHNOMUIsRUFBQTs7QVJoRkQ7RVEwRUE7SU9oTkYsZ0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLGdDQUE2QixFUHNOMUI7RUFORDtJT2hORixzQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsc0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix1Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLGlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsdUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix1Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLGlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsdUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix1Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLGlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsdUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix1Q0FBNkIsRVBzTjFCLEVBQUE7O0FSM0VEO0VRcUVBO0lPaE5GLGdCQUE2QixFUGtOMUI7RUFF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RztJUXBDSjtNSTNGTSxxQkFBNEI7TUFBNUIsd0JBQTRCLEVKMEhqQyxFQUFBO0VBL0JEO0lHaERFLDhCQUR3QztJQ2pDdEMsc0JBQTRCO0lBQTVCLHlCQUE0QixFSndGN0I7RVI4QkM7SVFwQ0o7TUdoREUsNEJBRHdDO01DakN0QyxvQkFBNEI7TUFBNUIsdUJBQTRCLEVKK0Z6QixFQUFBO0VBckNMO0lHckJBLGFBQW9CLEVIdUJyQjtFQUVDO0lHckJBLGFBQW9CLEVIdUJyQjtFQU1HO0lHekJGLGtDQUQwRCxFSDRCekQ7RUFGQztJR3pCRixtQ0FEMEQsRUg0QnpEO0VBRkM7SUd6QkYsNkJBRDBELEVINEJ6RDtFQUZDO0lHekJGLG1DQUQwRCxFSDRCekQ7RUFGQztJR3pCRixtQ0FEMEQsRUg0QnpEO0VBRkM7SUd6QkYsNkJBRDBELEVINEJ6RDtFQUZDO0lHekJGLG1DQUQwRCxFSDRCekQ7RUFGQztJR3pCRixtQ0FEMEQsRUg0QnpEO0VBRkM7SUd6QkYsNkJBRDBELEVINEJ6RDtFQUZDO0lHekJGLG1DQUQwRCxFSDRCekQ7RUFGQztJR3pCRixtQ0FEMEQsRUg0QnpEO0VBRkM7SUd6QkYsOEJBRDBELEVINEJ6RDtFUjhDQztJUTVERjtNR3JCQSxhQUFvQixFSHVCckI7SUFFQztNR3JCQSxhQUFvQixFSHVCckI7SUFNRztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDRCQUQwRCxFSDRCekQ7SUFkRDtNR3JCQSxhQUFvQixFSHVCckI7SUFFQztNR3JCQSxhQUFvQixFSHVCckI7SUFNRztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDRCQUQwRCxFSDRCekQsRUFBQTtFUjhDQztJUTVERjtNR3JCQSxhQUFvQixFSHVCckI7SUFFQztNR3JCQSxhQUFvQixFSHVCckI7SUFNRztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDRCQUQwRCxFSDRCekQsRUFBQTtFUm1EQztJUWpFRjtNR3JCQSxhQUFvQixFSHVCckI7SUFFQztNR3JCQSxhQUFvQixFSHVCckI7SUFNRztNR3pCRixnQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsaUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDJCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixpQ0FE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LHdCWDNEc0M7RVc2RHRDLG1CQUFtQjtFQUNuQixpQlgvRHNCO0VXZ0V0QixtQ1g5RHlDLEVXK0QxQzs7QUFHRDs7RUFFRSxtQkFBbUI7RUFDbkIscUJBQXFCLEVBQ3RCOztBQUdEOztFQUVFLGlCWHBPc0M7RVdxT3RDLHFCQUFxQixFQUN0Qjs7QUFHRDtFQUNFLGVYckZpQjtFV3NGakIscUJBQXFCLEVBQ3RCOztBQUdEOzs7Ozs7RUFNRSxvRlh4UHlHO0VXeVB6RyxtQlhqSXNCO0VXa0l0QixpQlh4UHNDO0VXeVB0QyxlWGpJa0I7RVdrSWxCLG1DWHJHc0MsRVcyR3ZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFlO0lBQ2YsZVhqTWUsRVdrTWhCOztBQVFHO0VBSUksb0JQdlBVO0VPK1BWLGVYdEpnQztFVzhKaEMsY1BsUUM7RU95UUQsd0JYeEsyQixFVzhLOUI7O0FBakNEO0VBSUksb0JQdlBVO0VPK1BWLGlCWDFKVztFV2tLWCxzQlg3SnNGO0VXb0t0Rix5QlhwS2tJLEVXMEtySTs7QUFqQ0Q7RUFJSSxtQlB2UFU7RU8rUFYsaUJYcEprQztFVzRKbEMscUJYaksyQjtFV3dLM0Isd0JYeEsyQixFVzhLOUI7O0FBakNEO0VBSUksb0JQdlBVO0VPK1BWLGlCWDFKVztFV2tLWCxxQlhqSzJCO0VXd0szQix3Qlh4SzJCLEVXOEs5Qjs7QUFqQ0Q7RUFJSSxvQlB2UFU7RU8rUFYsaUJYMUpXO0VXa0tYLHFCWGpLMkI7RVd3SzNCLHdCWHhLMkIsRVc4SzlCOztBQWpDRDtFQUlJLGdCUHZQVTtFTytQVixpQlgxSlc7RVdrS1gscUJYaksyQjtFV3dLM0Isd0JYeEsyQixFVzhLOUI7O0FqQjdNSDtFaUI0S0U7SUFJSSxrQlB2UFU7SU8rUFYsZVg5SWdDO0lXc0poQyxjUGxRQztJT3lRRCx3Qlh4SzJCLEVXOEs5QjtFQWpDRDtJQUlJLG9CUHZQVTtJTytQVixpQlgxSlc7SVdrS1gsc0JYckpzRjtJVzRKdEYseUJYNUprSSxFV2tLckk7RUFqQ0Q7SUFJSSxtQlB2UFU7SU8rUFYsaUJYNUlrQztJV29KbEMscUJYaksyQjtJV3dLM0Isd0JYeEsyQixFVzhLOUI7RUFqQ0Q7SUFJSSxvQlB2UFU7SU8rUFYsaUJYMUpXO0lXa0tYLHFCWGpLMkI7SVd3SzNCLHdCWHhLMkIsRVc4SzlCO0VBakNEO0lBSUksb0JQdlBVO0lPK1BWLGlCWDFKVztJV2tLWCxxQlhqSzJCO0lXd0szQix3Qlh4SzJCLEVXOEs5QjtFQWpDRDtJQUlJLGdCUHZQVTtJTytQVixpQlgxSlc7SVdrS1gscUJYaksyQjtJV3dLM0Isd0JYeEsyQixFVzhLOUIsRUFBQTs7QWpCN01IO0VpQjRLRTtJQUlJLGtCUHZQVTtJTytQVixlWHRJZ0M7SVc4SWhDLGNQbFFDO0lPeVFELHdCWHhLMkIsRVc4SzlCO0VBakNEO0lBSUksZ0JQdlBVO0lPK1BWLGlCWDFKVztJV2tLWCxxQlhqSzJCO0lXd0szQix3Qlh4SzJCLEVXOEs5QjtFQWpDRDtJQUlJLGdCUHZQVTtJTytQVixpQlgxSlc7SVdrS1gscUJYaksyQjtJV3dLM0Isd0JYeEsyQixFVzhLOUI7RUFqQ0Q7SUFJSSxtQlB2UFU7SU8rUFYsaUJYMUpXO0lXa0tYLHFCWGpLMkI7SVd3SzNCLHdCWHhLMkIsRVc4SzlCO0VBakNEO0lBSUksb0JQdlBVO0lPK1BWLGlCWDFKVztJV2tLWCxxQlhqSzJCO0lXd0szQix3Qlh4SzJCLEVXOEs5QjtFQWpDRDtJQUlJLG9CUHZQVTtJTytQVixpQlgxSlc7SVdrS1gscUJYaksyQjtJV3dLM0Isd0JYeEsyQixFVzhLOUIsRUFBQTs7QUFNUDtFQUNFLHFCQUFxQjtFQUNyQixlWGxTeUI7RVdtU3pCLHNCWDlJeUI7RVdnSnpCLGdCQUFnQixFQWFqQjtFQWxCRDtJQVNJLGVYckowQixFV3lKM0I7RUFiSDtJQWdCSSxVQUFVLEVBQ1g7O0FBSUg7RUFDRSxZQUFZO0VBRVosa0JQbFRrQjtFT21UbEIsVUFBVTtFQUNWLHFCWGpLeUI7RVdtS3pCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsaUNYL1MyQjtFV2dUM0IsZUFBZSxFQUNoQjs7QUFHRDs7O0VBR0Usd0JYM0xzQztFVzRMdEMsNkJYMUt5QjtFVzJLekIsaUJYOUxzQixFVytMdkI7O0FBR0Q7RUFDRSxtQkFBbUIsRUFDcEI7O0FBR0Q7RUFDRSxxQlhwTHNCO0VXcUx0QixzQlh2TGtCLEVXd0xuQjs7QUFHRDtFQUNFLHFCWDFMc0IsRVcyTHZCOztBQUdEO0VBRUkscUJYL0wyQjtFV2dNM0IsaUJBQWlCLEVBQ2xCOztBQUlIO0VBQ0Usb0JYck15QixFVzJNMUI7RUFQRDtJQUlJLHNCWHRNOEI7SVd1TTlCLGlCWHRYb0MsRVd1WHJDOztBQUlIO0VBQ0UscUJYcE9zQztFV3FPdEMsdUNQMVdrQjtFTzJXbEIsK0JYbFVpQixFV3dVbEI7RUFURDtJQU1JLGlCWDFPb0I7SVcyT3BCLGVYclVhLEVXc1VkOztBQUlIO0VBQ0UsZUFBZTtFQUNmLHFCUHRYa0I7RU91WGxCLGVYN1VlLEVXa1ZoQjtFQVJEO0lBTUksY1h4TmdCLEVBQWE7O0FXNk5qQztFQUNFLGtDWHJWVztFV3NWWCxhQUFhO0VBQ2Isc0JBQXNCLEVBQ3ZCOztBQUdEO0VBQ0UsVUFBVSxFQUNYOztBQUdEO0VBQ0Usc0NQNVlrQjtFTzhZbEIsMEJYcldpQjtFV3NXakIsMEJYdldnQjtFV3lXaEIsNkRYOVNtRTtFVytTbkUsaUJYdGFzQztFV3VhdEMsZVh4V1csRVd5V1o7O0FBR0Q7RUFDRSxVQUFVO0VBQ1YsNEJQcFpTO0VPc1pULDBCWG5YZ0I7RVdxWGhCLDZEWDFUbUU7RVcyVG5FLGVYblhXLEVXd1haOztBQzVjRDtFQUNFLG1CWjBOeUI7RVl6TnpCLHNCWjBONEI7RVl4TjVCLGlCWmlCc0M7RVloQnRDLGlCWm1Oc0I7RVlsTnRCLGVaNkVlLEVZNUVoQjs7QUFHRDtFQUNFLGdCWjJNOEI7RVkxTTlCLGlCWjJNaUIsRVkxTWxCOztBQUdEO0VBQ0Usa0JaNE1tQjtFWTNNbkIsZUFBZSxFQUtoQjtFQVBEO0lBS0ksa0JBQWtCLEVBQ25COztBQUdIO0VBR0ksZUFBaUM7RUFDakMsaUJBQWlCLEVBQ2xCOztBQy9ESztFQUNFLGlCQVJlLEVBU2hCOztBQUZEO0VBQ0Usa0JBUnNCLEVBU3ZCOztBQUZE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bEIsNEJBdkRrQjtVQXVEbEIsb0JBdkRrQixFRG9GZjs7QUFJSDtFQ2xEQSxnQ0EvQ2dCO01BK0NoQixzQkEvQ2dCO1VBK0NoQix3QkEvQ2dCO0VBZ0RoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEMkZkLDhCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsc0JBQXNCLEVBQ3ZCOztBQUtHO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBaERpREQ7RWdEbkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaERpREQ7RWdEbkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaERzREQ7RWdEeERBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBQTdGTDtFQ09BLHNCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjLEVETGI7O0FBRUQ7RUFDRSx1QkFBZTtNQUFmLG1CQUFlO1VBQWYsZUFBZSxFQUNoQjs7QUFFRDtFQUNFLHVCQUFlO01BQWYsbUJBQWU7VUFBZixlQUFlLEVBQ2hCOztBQUVEO0VBQ0UsdUJBQWU7TUFBZixtQkFBZTtVQUFmLGVBQWUsRUFDaEI7O0FBR0M7RUNpREYsNEJBbkVVO01BbUVWLHdCQW5FVTtVQW1FVixvQkFuRVUsRURvQlA7O0FBRkQ7RUNpREYsb0NBbEUwQjtNQWtFMUIsZ0NBbEUwQjtVQWtFMUIsNEJBbEUwQixFRG1CdkI7O0FBRkQ7RUNpREYsK0JBakVnQjtN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aUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUN2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpMSDtFRW1DRSxxQ0FGaUI7TUFFakIsaUNBRmlCO1VBRWpCLDZCQUZpQixFRWhCaEI7O0FKZEg7RUFsQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUtBbEMsNkJBQTZCLEVERTVCOztBSkZIO0VFZ0NFLFdGaENxQyxFSWNwQzs7QUpiSDtFQW5CQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFS0RsQyw2QkFBNkIsRURFNUI7O0FKREg7RUUrQkUsV0YvQnFDLEVJYXBDOztBSlZIO0VBdEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWiw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpFSDtFRTRCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlRIO0VBdkJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpHSDtFRTJCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlJIO0VBeEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RJbkNlO1VKbUNmLDhDSW5DZTtFSm1DZixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpJSDtFRTBCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlBIO0VBekJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RJbENhO1VKa0NiLDhDSWxDYTtFSmtDYiwrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpLSDtFRXlCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSk5IO0VBMUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpNSDtFRXdCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkxIO0VBM0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpPSDtFRXVCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkpIO0VBNUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4Qyw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpRSDtFRXNCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkhIO0VBN0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpTSDtFRXFCRSx1RElwQ2M7VUpvQ2QsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSkZIO0VBOUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpVSDtFRW9CRSxzREluQ2U7VUptQ2YsOENJbkNlO0VDcUJiLFdBQThCLEVISi9COztBSkRIO0VBL0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QywrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpXSDtFRW1CRSxzRElsQ2E7VUprQ2IsOENJbENhO0VDb0JYLFdBQThCLEVISi9COztBSkFIO0VBaENBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpZSDtFRWtCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkNIO0VBakNBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdD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WixnQi9INkRZO1krSDVEWixtQkFBbUI7WUFDbkIsaUIvSDJEWTtZK0gxRFosT0FBTztZQUNQLFdBQVcsRUFDWjtVQWhDVDtZQWtDVSxZQUFZO1lBQ1osK0RBQXFCO1lBQ3JCLDRCQUE0QjtZQUM1QixpQi9IbURZO1krSGxEWixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGlCL0hnRFk7WStIL0NaLE9BQU8sRUFDUixFQUFBO01BMUNUO1FBNkNRLGlCbkl3QmtDO1FtSXZCbEMsc0JBQXNCO1FBQ3RCLGVBQWU7UUFDZixlbklrQ3FCO1FtSWpDckIseUIvSHVDYztRK0h0Q2QsZ0IvSHNDYyxFK0g5QmY7UXpJcUdEO1V5SS9KTjtZQW9EVSx3Qi9Ib0NZLEUrSDlCZixFQUFBO1F6STBHRDtVeUlwS047WUF1RFUsaUJBQWlCO1lBQ2pCLGdCL0hnQ1ksRStIOUJmLEVBQUE7SUExRFA7TUE4RFEsZ0IvSDBCYyxFK0h0QmY7TUFsRVA7UUFnRVUseUJBQStCLEVBQ2hDOztBQ2pFVDtFQUNFLHdCQUErQixFQWlCaEM7RTFJNklLO0kwSS9KTjtNQUdJLHVCQUErQixFQWVsQyxFQUFBO0VBbEJEO0lBTUksMEJwSTJFeUI7SW9JMUV6QixrQkFBeUIsRUFVMUI7STFJOElHO00wSS9KTjtRQVNNLGlCQUF5QixFQVE1QixFQUFBO0lBakJIO01BWU0saUJBQWlCLEVBQ2xCO0lBYkw7TUFlTSxjQUFjLEVBQ2YiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbSZ4eHhsYXJnZT0xMTkuMzc1ZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIHNhbnMtc2VyaWYsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzU1NTU1NTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQtY29udGFpbmVyLXBhZGRlZCB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lci1wYWRkZWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiBzbWFsbC1zaHJpbmssIC5ncmlkLXggPiBzbWFsbC1mdWxsLCAuZ3JpZC14ID4gc21hbGwtMSwgLmdyaWQteCA+IHNtYWxsLTIsIC5ncmlkLXggPiBzbWFsbC0zLCAuZ3JpZC14ID4gc21hbGwtNCwgLmdyaWQteCA+IHNtYWxsLTUsIC5ncmlkLXggPiBzbWFsbC02LCAuZ3JpZC14ID4gc21hbGwtNywgLmdyaWQteCA+IHNtYWxsLTgsIC5ncmlkLXggPiBzbWFsbC05LCAuZ3JpZC14ID4gc21hbGwtMTAsIC5ncmlkLXggPiBzbWFsbC0xMSwgLmdyaWQteCA+IHNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gbWVkaXVtLXNocmluaywgLmdyaWQteCA+IG1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gbWVkaXVtLTEsIC5ncmlkLXggPiBtZWRpdW0tMiwgLmdyaWQteCA+IG1lZGl1bS0zLCAuZ3JpZC14ID4gbWVkaXVtLTQsIC5ncmlkLXggPiBtZWRpdW0tNSwgLmdyaWQteCA+IG1lZGl1bS02LCAuZ3JpZC14ID4gbWVkaXVtLTcsIC5ncmlkLXggPiBtZWRpdW0tOCwgLmdyaWQteCA+IG1lZGl1bS05LCAuZ3JpZC14ID4gbWVkaXVtLTEwLCAuZ3JpZC14ID4gbWVkaXVtLTExLCAuZ3JpZC14ID4gbWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IGxhcmdlLXNocmluaywgLmdyaWQteCA+IGxhcmdlLWZ1bGwsIC5ncmlkLXggPiBsYXJnZS0xLCAuZ3JpZC14ID4gbGFyZ2UtMiwgLmdyaWQteCA+IGxhcmdlLTMsIC5ncmlkLXggPiBsYXJnZS00LCAuZ3JpZC14ID4gbGFyZ2UtNSwgLmdyaWQteCA+IGxhcmdlLTYsIC5ncmlkLXggPiBsYXJnZS03LCAuZ3JpZC14ID4gbGFyZ2UtOCwgLmdyaWQteCA+IGxhcmdlLTksIC5ncmlkLXggPiBsYXJnZS0xMCwgLmdyaWQteCA+IGxhcmdlLTExLCAuZ3JpZC14ID4gbGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXggPiB4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4geGxhcmdlLWZ1bGwsIC5ncmlkLXggPiB4bGFyZ2UtMSwgLmdyaWQteCA+IHhsYXJnZS0yLCAuZ3JpZC14ID4geGxhcmdlLTMsIC5ncmlkLXggPiB4bGFyZ2UtNCwgLmdyaWQteCA+IHhsYXJnZS01LCAuZ3JpZC14ID4geGxhcmdlLTYsIC5ncmlkLXggPiB4bGFyZ2UtNywgLmdyaWQteCA+IHhsYXJnZS04LCAuZ3JpZC14ID4geGxhcmdlLTksIC5ncmlkLXggPiB4bGFyZ2UtMTAsIC5ncmlkLXggPiB4bGFyZ2UtMTEsIC5ncmlkLXggPiB4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuMjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMi41cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuMjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuMjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuMjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4yNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuMjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuMjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuMjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjI1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiBzbWFsbC1zaHJpbmssIC5ncmlkLXkgPiBzbWFsbC1mdWxsLCAuZ3JpZC15ID4gc21hbGwtMSwgLmdyaWQteSA+IHNtYWxsLTIsIC5ncmlkLXkgPiBzbWFsbC0zLCAuZ3JpZC15ID4gc21hbGwtNCwgLmdyaWQteSA+IHNtYWxsLTUsIC5ncmlkLXkgPiBzbWFsbC02LCAuZ3JpZC15ID4gc21hbGwtNywgLmdyaWQteSA+IHNtYWxsLTgsIC5ncmlkLXkgPiBzbWFsbC05LCAuZ3JpZC15ID4gc21hbGwtMTAsIC5ncmlkLXkgPiBzbWFsbC0xMSwgLmdyaWQteSA+IHNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IG1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiBtZWRpdW0tZnVsbCwgLmdyaWQteSA+IG1lZGl1bS0xLCAuZ3JpZC15ID4gbWVkaXVtLTIsIC5ncmlkLXkgPiBtZWRpdW0tMywgLmdyaWQteSA+IG1lZGl1bS00LCAuZ3JpZC15ID4gbWVkaXVtLTUsIC5ncmlkLXkgPiBtZWRpdW0tNiwgLmdyaWQteSA+IG1lZGl1bS03LCAuZ3JpZC15ID4gbWVkaXVtLTgsIC5ncmlkLXkgPiBtZWRpdW0tOSwgLmdyaWQteSA+IG1lZGl1bS0xMCwgLmdyaWQteSA+IG1lZGl1bS0xMSwgLmdyaWQteSA+IG1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gbGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gbGFyZ2UtZnVsbCwgLmdyaWQteSA+IGxhcmdlLTEsIC5ncmlkLXkgPiBsYXJnZS0yLCAuZ3JpZC15ID4gbGFyZ2UtMywgLmdyaWQteSA+IGxhcmdlLTQsIC5ncmlkLXkgPiBsYXJnZS01LCAuZ3JpZC15ID4gbGFyZ2UtNiwgLmdyaWQteSA+IGxhcmdlLTcsIC5ncmlkLXkgPiBsYXJnZS04LCAuZ3JpZC15ID4gbGFyZ2UtOSwgLmdyaWQteSA+IGxhcmdlLTEwLCAuZ3JpZC15ID4gbGFyZ2UtMTEsIC5ncmlkLXkgPiBsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLXkgPiB4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4geGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiB4bGFyZ2UtMSwgLmdyaWQteSA+IHhsYXJnZS0yLCAuZ3JpZC15ID4geGxhcmdlLTMsIC5ncmlkLXkgPiB4bGFyZ2UtNCwgLmdyaWQteSA+IHhsYXJnZS01LCAuZ3JpZC15ID4geGxhcmdlLTYsIC5ncmlkLXkgPiB4bGFyZ2UtNywgLmdyaWQteSA+IHhsYXJnZS04LCAuZ3JpZC15ID4geGxhcmdlLTksIC5ncmlkLXkgPiB4bGFyZ2UtMTAsIC5ncmlkLXkgPiB4bGFyZ2UtMTEsIC5ncmlkLXkgPiB4bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xLjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi41cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDB2dztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIiwgc2Fucy1zZXJpZiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzU0Njc3NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICM0ODU5NjU7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDEyMHJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERERERDtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4YThhOGE7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NTg2NDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzUyNWU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM1MjVlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU0Njc3NjtcbiAgICBjb2xvcjogIzU0Njc3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzJhMzQzYjtcbiAgICAgIGNvbG9yOiAjMmEzNDNiOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzU0Njc3NjtcbiAgICAgICAgY29sb3I6ICM1NDY3NzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NDY3NzY7XG4gICAgICBjb2xvcjogIzU0Njc3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzJhMzQzYjtcbiAgICAgICAgY29sb3I6ICMyYTM0M2I7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTQ2Nzc2O1xuICAgICAgICAgIGNvbG9yOiAjNTQ2Nzc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NDY3NzY7XG4gICAgICBjb2xvcjogIzU0Njc3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyYTM0M2I7XG4gICAgICAgIGNvbG9yOiAjMmEzNDNiOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTQ2Nzc2O1xuICAgICAgICAgIGNvbG9yOiAjNTQ2Nzc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmNsZWFyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTQ2Nzc2O1xuICAgIGNvbG9yOiAjNTQ2Nzc2OyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzJhMzQzYjtcbiAgICAgIGNvbG9yOiAjMmEzNDNiOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTQ2Nzc2O1xuICAgICAgICBjb2xvcjogIzU0Njc3NjsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTQ2Nzc2O1xuICAgICAgY29sb3I6ICM1NDY3NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMmEzNDNiO1xuICAgICAgICBjb2xvcjogIzJhMzQzYjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzU0Njc3NjtcbiAgICAgICAgICBjb2xvcjogIzU0Njc3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTQ2Nzc2O1xuICAgICAgY29sb3I6ICM1NDY3NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzJhMzQzYjtcbiAgICAgICAgY29sb3I6ICMyYTM0M2I7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzU0Njc3NjtcbiAgICAgICAgICBjb2xvcjogIzU0Njc3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNTQ2Nzc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNTQ2Nzc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM1NDY3NzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzU0Njc3NjsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiAnKyc7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxMyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICM1NTU1NTU7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICM1NDY3NzY7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNTQ2Nzc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM1NDY3NzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS54bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM1NDY3NzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM1NDY3NzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICM1NDY3NzYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogIzM2NDU0ZjtcbiAgY29sb3I6ICNlNmU2ZTY7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzU0Njc3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTQ2Nzc2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTQ2Nzc2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM1NDY3NzYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTQ2Nzc2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzU0Njc3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzU0Njc3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzU0Njc3NjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM1NDY3NzYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzU0Njc3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM1NDY3NzY7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzU0Njc3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTQ2Nzc2OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzU0Njc3NjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICM1NDY3NzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzU0Njc3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjNTQ2Nzc2O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBhYic7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJzsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEyMHJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogMTIwcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDEyMHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMjByZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0YWJsZSB0aGVhZCxcbiAgdGFibGUgdGJvZHksXG4gIHRhYmxlIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgdGFibGUgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgdGFibGUgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgdGFibGUgdGhlYWQgdHIsXG4gIHRhYmxlIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZSB0aGVhZCB0aCxcbiAgdGFibGUgdGhlYWQgdGQsXG4gIHRhYmxlIHRmb290IHRoLFxuICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZSB0Ym9keSB0aCxcbiAgdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM1NDY3NzY7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1YTZmN2Y7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzU0Njc3NjsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICM0ODU5NjU7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjNTQ2Nzc2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzU1NTU1NTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3R0b206IDEwMCU7IH1cbiAgLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7IH1cbiAgLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwcmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMzODQwOyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLypcclxuICBNeSBjdXN0b20gc3R5bGVzOlxyXG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcclxuKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IH1cblxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG5ib2R5LmFkbWluLWJhci5mLXRvcGJhci1maXhlZCAuc3RpY2t5LmZpeGVkIHtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG5ib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gIHRvcDogMi44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguOTM3NWVtKSB7XG4gICAgYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiAycmVtOyB9IH1cblxuLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDsgfVxuXG5wLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLyogQWNjb3JkaW9uIENTUyBmb3Igd2hpdGUgZHJvcGRvd24gKi9cbi5hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMXZ3OyB9XG5cbi5hY2NvcmRpb25Ecm9wIHtcbiAgcGFkZGluZzogMHB4IDMwcHg7XG4gIGZvbnQtc2l6ZTogMXZ3OyB9XG5cbjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaDEge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbmgyLCBoMywgaDQge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGFbaHJlZl49XCJ0ZWw6XCJdIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG5cbi5oZWFkaW5nLS1uby1tYXJnaW4ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbnVsIGxpIHVsIHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIHVsIGxpIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQ2ODc1cmVtOyB9XG5cbmJvZHkgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA0LjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgYm9keSAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZS10ZW1wbGF0ZSAuY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDcuMTg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXNlcnZpY2UtdGVtcGxhdGUgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogOC4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXNlcnZpY2UtdGVtcGxhdGUgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tb2JpbGUtbWVudSxcbiAgLnNpdGUtdGl0bGUtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmRlc2t0b3AtbWVudSxcbiAgLnNpdGUtbmF2aWdhdGlvbiAudG9wLWJhci1sZWZ0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ubW9iaWxlLW1lbnUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vZmYtY2FudmFzID4gdWwubWVudSB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLm9mZi1jYW52YXMgPiB1bC5tZW51IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLm9mZi1jYW52YXMgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cbi50aXRsZS1iYXItdGl0bGUgYSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNCOUI5Qjk7IH1cblxuLm1vYmlsZS1tZW51IC5tZW51IC5pcy1hY3RpdmUgPiBhLFxuLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY0NTRmOyB9XG5cbi50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjQjlCOUI5O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7IH1cblxuLnRvcC1iYXIgLm1lbnUgYSB7XG4gIGNvbG9yOiAjZTZlNmU2O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnRvcC1iYXIgLm1lbnUgYTpob3Zlcjpub3QoLmJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjUyNUQ7IH1cblxuLnRvcC1iYXIgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cbi50b3AtYmFyIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gIHBhZGRpbmc6IDFyZW07IH1cblxuLnRvcC1iYXIgLm1lbnUgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0ZTRlNGU7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuICBib3JkZXI6IDA7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gIGJvcmRlcjogMDsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24ubWVudTpmaXJzdC1jaGlsZCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnBvc3QtbmF2aWdhdGlvbjo6YmVmb3JlLCAucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm5hdi1wcmV2aW91cyB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5uYXYtbmV4dCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWZ1cnRoZXItaW5mbyB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1mdXJ0aGVyLWluZm8ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1mdXJ0aGVyLWluZm8gLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDRkNGQ0Y7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWZ1cnRoZXItaW5mbyAuYnV0dG9uOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODNweCAtNTFweDtcbiAgICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgICB3aWR0aDogMC42MjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1mdXJ0aGVyLWluZm8gLmJ1dHRvbi5leHBhbmRlZDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk1cHggLTUxcHg7IH1cblxuLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciB7XG4gICAgICBwYWRkaW5nOiAyLjM0Mzc1cmVtIDAgMDsgfSB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgaHIge1xuICAgIG1hcmdpbjogMC45Mzc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBociB7XG4gICAgICAgIG1hcmdpbjogMS44NzVyZW0gMDsgfSB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItbWVudSAuZm9vdGVyLW1lbnVfX3NlcnZpY2UtbGlua3Mge1xuICAgICAgcGFkZGluZy10b3A6IDEuNDA2MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItbWVudSAuZm9vdGVyLW1lbnVfX3NlcnZpY2UtbGlua3Mge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItbWVudSAuZm9vdGVyLW1lbnVfX2Jsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNDA2MjVyZW07IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1tZW51IC5mb290ZXItbWVudV9fYmxvY2sgLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItbWVudSAuZm9vdGVyLW1lbnVfX2Jsb2NrIC5tZW51IGxpLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItbWVudSAuZm9vdGVyLW1lbnVfX2Jsb2NrIC5tZW51IGxpIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLW1lbnUgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNDA2MjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLW1lbnUgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLW1lbnUgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLW1lbnUgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLW1lbnUgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzIC5mb290ZXItbWVudV9fc2VydmljZS1saW5rcy0tYm9va1dJWkFSRCBhIHtcbiAgICAgICAgY29sb3I6ICNCOUM0MDA7IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1tZW51IC5mb290ZXItbWVudV9fc2VydmljZS1saW5rcyAuZm9vdGVyLW1lbnVfX3NlcnZpY2UtbGlua3MtLWJvb2tWQVVMVCBhIHtcbiAgICAgICAgY29sb3I6ICM3OUIzRTI7IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1tZW51IC5mb290ZXItbWVudV9fc2VydmljZS1saW5rcyAuZm9vdGVyLW1lbnVfX3NlcnZpY2UtbGlua3MtLWJvb2tHTE9CQUwgYSB7XG4gICAgICAgIGNvbG9yOiAjQ0MyQjE3OyB9XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItbWVudSAuZm9vdGVyLW1lbnVfX3NlcnZpY2UtbGlua3MgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzLS1ib29rUFVCTElTSEVSIGEge1xuICAgICAgICBjb2xvcjogI0RDQUYwMTsgfVxuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLW1lbnUgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzIC5mb290ZXItbWVudV9fc2VydmljZS1saW5rcy0tYm9va1NIT1AgYSB7XG4gICAgICAgIGNvbG9yOiAjMjYzNjg5OyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1hZGRyZXNzIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1hZGRyZXNzIGE6bm90KC5idXR0b24pIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYWRkcmVzcyAuZm9vdGVyLWFkZHJlc3NfX2RldGFpbHMgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1hZGRyZXNzIC5zb2NpYWwtaWNvbnMge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYWRkcmVzcyAuc29jaWFsLWljb25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYWRkcmVzcyAuc29jaWFsLWljb25zIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjQ2ODc1cmVtOyB9XG4gICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYWRkcmVzcyAuc29jaWFsLWljb25zIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAuODsgfVxuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLWFkZHJlc3MgLnNvY2lhbC1pY29ucyBhOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYWRkcmVzcyAuc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbnMtLWZhY2Vib29rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMi4zMTI1cmVtO1xuICAgICAgd2lkdGg6IDIuMzEyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQ1cHggLTI5cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1hZGRyZXNzIC5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29ucy0tdHdpdHRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICAgIHdpZHRoOiAyLjMxMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4NHB4IC0yOXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5mb290ZXItYWRkcmVzcyAuc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbnMtLWxpbmtlZGluIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMi4zMTI1cmVtO1xuICAgICAgd2lkdGg6IDIuMzEyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA2cHggLTI5cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuXG4uZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWRldGFpbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWRldGFpbHMge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZGV0YWlscyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZGV0YWlscyBwLCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWRldGFpbHMgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZGV0YWlscyAuZm9vdGVyLWRldGFpbF9fcGFnZS1saW5rcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZGV0YWlscyAuZm9vdGVyLWRldGFpbF9fcGFnZS1saW5rcyBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZGV0YWlscyAuZm9vdGVyLWRldGFpbF9fcGFnZS1saW5rcyBsaSBhIHtcbiAgICAgICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZGV0YWlscyAuZm9vdGVyLWRldGFpbF9fcGFnZS1saW5rcyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZGV0YWlscyAuZm9vdGVyLWRldGFpbHNfX2JhZGdlcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZGV0YWlscyAuZm9vdGVyLWRldGFpbHNfX2JhZGdlcyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWRldGFpbHMgLmZvb3Rlci1kZXRhaWxzX19iYWRnZXMgLmZvb3Rlci1iYWRnZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyLjg3NXJlbTsgfVxuXG4uZm9vdGVyLWNvbnRhaW5lciAuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG5cbi5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24ge1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMS42MjVyZW0gMC42MjVyZW0gMC4zNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmdmb3JtX3dyYXBwZXIgLmZvb3Rlci1maWVsZHNldCB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gICAgLmZvb3Rlci1jb250YWluZXIgLmdmb3JtX3dyYXBwZXIgLmZvb3Rlci1maWVsZHNldC52aXNpYmxlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmZvb3Rlci1jb250YWluZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggc3BhbiB7XG4gICAgICAgIGZsZXg6IDAgMCA0OCU7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgaW5wdXQge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9uYW1lIGxhYmVsLCAuZm9vdGVyLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfbmFtZSBzZWxlY3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIC5mb290ZXItY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwgYSB7XG4gICAgICAgICAgY29sb3I6ICM1NTU1NTU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5ob21lIC5mb290ZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG5cbi50YWJiYXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgei1pbmRleDogMTM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgyMDcsIDIwNywgMjA3LCAwLjUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlLWluLW91dDsgfVxuICAudGFiYmFyLWNvbnRhaW5lciAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmJhci1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLnRhYmJhci1jb250YWluZXIuYXQtdG9wIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC50YWJiYXItY29udGFpbmVyLnNjcm9sbGVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMnB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGFiYmFyLWNvbnRhaW5lci5zY3JvbGxlZCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMycHgpOyB9IH1cbiAgLnRhYmJhci1jb250YWluZXIgLnNlcnZpY2UtaGVhZGVyIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDsgfVxuICAudGFiYmFyLWNvbnRhaW5lciAudGFiYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG4gICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19sb2dvIGltZyB7XG4gICAgICB3aWR0aDogOS4zNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjc1ZW0pIHtcbiAgICAgICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19sb2dvIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDExLjI1cmVtOyB9IH1cbiAgICAudGFiYmFyLWNvbnRhaW5lciAudGFiYmFyIC50YWJiYXJfX21lbnUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIuNXJlbTsgfVxuICAgICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19tZW51IC5tZW51LXRleHQge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogIzk2QTJBQjsgfVxuICAgIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgLnRhYmJhcl9fc2VhcmNoIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19zZWFyY2gge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgICAudGFiYmFyLWNvbnRhaW5lciAudGFiYmFyIC50YWJiYXJfX3NlYXJjaCAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRjNGM0YzICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMi4xMjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgICAgICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19zZWFyY2ggLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNS42MjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjM3NXJlbTsgfVxuICAgIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgLnRhYmJhcl9fcXVvdGUtbGluaywgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19hY2NvdW50LWxpbmssIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgLnRhYmJhcl9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICM5NkEyQUI7XG4gICAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMy43NWVtKSB7XG4gICAgICAgIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgLnRhYmJhcl9fcXVvdGUtbGluaywgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19hY2NvdW50LWxpbmssIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgLnRhYmJhcl9fbWVudSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNDY4NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAudGFiYmFyLWNvbnRhaW5lciAudGFiYmFyIC50YWJiYXJfX3F1b3RlLWxpbmssIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgLnRhYmJhcl9fYWNjb3VudC1saW5rLCAudGFiYmFyLWNvbnRhaW5lciAudGFiYmFyIC50YWJiYXJfX21lbnUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAgIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgLnRhYmJhcl9fYWNjb3VudC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19hY2NvdW50LWxpbmsgLnRhYmJhcl9fYWNjb3VudC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgd2lkdGg6IDEuNDM3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTFweCAtNDNweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9XG4gICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19xdW90ZS1saW5rIC50YWJiYXJfX3F1b3RlLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICB3aWR0aDogMS40Mzc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNnB4IC00M3B4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgICAudGFiYmFyLWNvbnRhaW5lciAudGFiYmFyIC5tb2JpbGUtbWVudS10cmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAudGFiYmFyLWNvbnRhaW5lciAudGFiYmFyICNuYXYtaWNvbiB7XG4gICAgICB3aWR0aDogMnJlbTtcbiAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiAuNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgI25hdi1pY29uIHNwYW46bm90KC5tZW51LXRleHQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTZBMkFCO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgI25hdi1pY29uIHNwYW46bm90KC5tZW51LXRleHQpOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdG9wOiAwOyB9XG4gICAgICAgIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgI25hdi1pY29uIHNwYW46bm90KC5tZW51LXRleHQpOm50aC1jaGlsZCgyKSwgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAjbmF2LWljb24gc3Bhbjpub3QoLm1lbnUtdGV4dCk6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICB0b3A6IDAuNXJlbTsgfVxuICAgICAgICAudGFiYmFyLWNvbnRhaW5lciAudGFiYmFyICNuYXYtaWNvbiBzcGFuOm5vdCgubWVudS10ZXh0KTpudGgtY2hpbGQoNCkge1xuICAgICAgICAgIHRvcDogMXJlbTsgfVxuICAgICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAjbmF2LWljb24ub3BlbiBzcGFuOm5vdCgubWVudS10ZXh0KSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM5NmEyYWI7IH1cbiAgICAgICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAjbmF2LWljb24ub3BlbiBzcGFuOm5vdCgubWVudS10ZXh0KTpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRvcDogMC42MjVyZW07XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgbGVmdDogNTAlOyB9XG4gICAgICAgIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgI25hdi1pY29uLm9wZW4gc3Bhbjpub3QoLm1lbnUtdGV4dCk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAjbmF2LWljb24ub3BlbiBzcGFuOm5vdCgubWVudS10ZXh0KTpudGgtY2hpbGQoMykge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAgICAgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAjbmF2LWljb24ub3BlbiBzcGFuOm5vdCgubWVudS10ZXh0KTpudGgtY2hpbGQoNCkge1xuICAgICAgICAgIHRvcDogMC42MjVyZW07XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgbGVmdDogNTAlOyB9XG5cbmJvZHkubWVudS1vcGVuZWQgLnRhYmJhci1jb250YWluZXIge1xuICBoZWlnaHQ6IDQuMjVyZW07IH1cblxuLnRhYmJhciAudGFiYmFyX19zZWFyY2ggLmlucHV0LWdyb3VwLCAucHJlaGVhZGVyIC5wcmVoZWFkZXJfX3NlYXJjaC1ncm91cCAuaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGFiYmFyIC50YWJiYXJfX3NlYXJjaCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWZpZWxkLCAucHJlaGVhZGVyIC5wcmVoZWFkZXJfX3NlYXJjaC1ncm91cCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGhlaWdodDogMS44MTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHdpZHRoOiAxMi41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC50YWJiYXIgLnRhYmJhcl9fc2VhcmNoIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAucHJlaGVhZGVyIC5wcmVoZWFkZXJfX3NlYXJjaC1ncm91cCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDAuMTI1cmVtOyB9XG4gICAgLnRhYmJhciAudGFiYmFyX19zZWFyY2ggLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24uaW5wdXQtZmlsbGVkOmJlZm9yZSwgLnByZWhlYWRlciAucHJlaGVhZGVyX19zZWFyY2gtZ3JvdXAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24uaW5wdXQtZmlsbGVkOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuNTYyNXJlbTtcbiAgICAgIHdpZHRoOiAwLjMxMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMXB4IC0yOXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7XG4gICAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAudGFiYmFyIC50YWJiYXJfX3NlYXJjaCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbi5pbnB1dC1maWxsZWQ6aG92ZXI6YmVmb3JlLCAucHJlaGVhZGVyIC5wcmVoZWFkZXJfX3NlYXJjaC1ncm91cCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbi5pbnB1dC1maWxsZWQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgICAudGFiYmFyIC50YWJiYXJfX3NlYXJjaCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbjpiZWZvcmUsIC5wcmVoZWFkZXIgLnByZWhlYWRlcl9fc2VhcmNoLWdyb3VwIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAwLjgxMjVyZW07XG4gICAgICB3aWR0aDogMC44MTI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDBweCAtNDhweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9XG4gICAgLnRhYmJhciAudGFiYmFyX19zZWFyY2ggLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsIC5wcmVoZWFkZXIgLnByZWhlYWRlcl9fc2VhcmNoLWdyb3VwIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRvcC1iYXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhci5zdGlja3kuaXMtc3R1Y2sge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMjA3LCAyMDcsIDIwNywgMC41KTsgfVxuICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyLnN0aWNreS5pcy1zdHVjayAuaGVhZGVyLWxvZ28ge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMCAwLjdyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyLnN0aWNreS5pcy1zdHVjayAuaGVhZGVyLWxvZ28gaW1nIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzLjc1cmVtOyB9XG4gICAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIuc3RpY2t5LmlzLXN0dWNrIC5tZW51IC5tZW51LWl0ZW0uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6bm90KC5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0pOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7IH1cbiAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhci5zdGlja3kuaXMtc3R1Y2sgLm1lbnUgLm1lbnUtaXRlbSBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyLnN0aWNreS5pcy1zdHVjayAubWVudSAubWVudS1pdGVtIC5zdWJtZW51IGxpIGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC40Njg3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNDY4NzVyZW07IH1cbiAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLmhlYWRlci1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IC0wLjMxMjVyZW07IH1cbiAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAuaGVhZGVyLWxvZ28gaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNC4zNzVyZW07IH1cbiAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLm1lbnUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC5tZW51IGxpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRUVFRUVFO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC5tZW51IGxpLm1lbnUtaXRlbS0tbmV3LWJhZGdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLm1lbnUgbGkubWVudS1pdGVtLS1uZXctYmFkZ2UgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuMzc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLm1lbnUgbGkubWVudS1pdGVtLS1uZXctYmFkZ2U6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ25ldyc7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNCMTMwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC5tZW51IGxpIC5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQuaXMtYWN0aXZlID4gYTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC5tZW51IGxpIC5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMC41NjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwLjMxMjVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIxcHggLTI5cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAubWVudSBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpub3QoLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAubWVudSBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpub3QoLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSk6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IDAuNjg3NXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjlweCAtMzRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC5tZW51IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Om5vdCguaXMtZHJvcGRvd24tc3VibWVudS1pdGVtKTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAubWVudSBsaSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfVxuICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAubWVudSBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC5tZW51IGxpLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAubWVudSBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRUVFRUVFOyB9XG4gICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAubWVudSBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAyLjM0Mzc1cmVtIDAuNXJlbTtcbiAgICAgICAgICBjb2xvcjogIzU0Njc3NjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLm1lbnUgbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDIuMzQzNzVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLm1lbnUgbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMi4zNDM3NXJlbSAwLjkzNzVyZW07IH0gfVxuICAgICAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLm1lbnUgbGkgLnN1Ym1lbnUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMjA3LCAyMDcsIDIwNywgMC41KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC5tZW51IGxpIC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLm1lbnUgbGkgLnN1Ym1lbnUgbGkgYSB7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjQ2ODc1cmVtIDAuOTM3NXJlbTsgfVxuICAgICAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLm1lbnUgbGkgLnN1Ym1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYzsgfVxuXG4ubWVudSAubWVudS1pdGVtLm1lbnUtaXRlbS0tYm9va0dsb2JhbCA+IGEge1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQ0MyQjE3ICFpbXBvcnRhbnQ7IH1cblxuLm1lbnUgLm1lbnUtaXRlbS5tZW51LWl0ZW0tLWJvb2tWYXVsdCA+IGEge1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNzlCM0UyICFpbXBvcnRhbnQ7IH1cblxuLm1lbnUgLm1lbnUtaXRlbS5tZW51LWl0ZW0tLWJvb2tXaXphcmQgPiBhIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0I5QzQwMCAhaW1wb3J0YW50OyB9XG5cbi5tZW51IC5tZW51LWl0ZW0ubWVudS1pdGVtLS1ib29rUHVibGlzaGVyID4gYSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEQ0FGMDEgIWltcG9ydGFudDsgfVxuXG4ubWVudSAubWVudS1pdGVtLm1lbnUtaXRlbS0tYm9va1Nob3AgPiBhIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzI2MzY4OSAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLnRvcC1iYXItY29udGFpbmVyIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgyMDcsIDIwNywgMjA3LCAwLjUpO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgLnRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfSB9XG5cbi50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgbGkubWVnYS1tZW51LWZseW91dCB1bC5tZWdhLXN1Yi1tZW51IHtcbiAgICAgIHdpZHRoOiAxMy43NXJlbTsgfVxuICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRUVFRUVFOyB9XG4gICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VlZTsgfVxuICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0ubWVnYS10b2dnbGUtb24gPiBhLCAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbS5tZWdhLWN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7IH1cbiAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtIC5tZWdhLW1lbnUtbGluayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGNvbG9yOiAjNTQ2Nzc2O1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSAubWVnYS1tZW51LWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gLm1lZ2EtbWVudS1saW5rOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjOyB9XG4gICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSAubmV3LWJhZGdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICAgICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNCMTMwOyB9XG4gICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IGEubWVnYS1tZW51LWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBwYWRkaW5nOiAyLjM0Mzc1cmVtIDAuNXJlbTtcbiAgICAgICAgY29sb3I6ICM1NDY3NzY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiBhLm1lZ2EtbWVudS1saW5rOmhvdmVyLCAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IGEubWVnYS1tZW51LWxpbms6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gYS5tZWdhLW1lbnUtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjM0Mzc1cmVtIDAuOTM3NXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IGEubWVnYS1tZW51LWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMi4zNDM3NXJlbSAwLjkzNzVyZW07IH0gfVxuICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IGEubWVnYS1tZW51LWxpbmsgLm1lZ2EtaW5kaWNhdG9yIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIGJvdHRvbTogMC42ODc1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICB3aWR0aDogMC41NjI1cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY5cHggLTM0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMjA3LCAyMDcsIDIwNywgMC41KTsgfVxuICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrX19ndWlkZS13cmFwIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrX19ndWlkZS13cmFwIHtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9ja19fZ3VpZGUtd3JhcCAubWVnYS1ibG9ja19fZ3VpZGUtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2tfX2d1aWRlLXdyYXAgLm1lZ2EtYmxvY2tfX2d1aWRlLWltYWdlIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNS42MjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2tfX2d1aWRlLXdyYXAgLm1lZ2EtYmxvY2tfX2d1aWRlLWltYWdlIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNi4yNXJlbTsgfSB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9ja19fZ3VpZGUtd3JhcCAubWVnYS1ibG9ja19fZ3VpZGUtZGV0YWlscyB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrX19ndWlkZS13cmFwIC5tZWdhLWJsb2NrX19ndWlkZS1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1tZW51LXJvdyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtbWVudS1yb3cgPiAubWVnYS1zdWItbWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1tZW51LXJvdyAubWVnYS1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjU2MjVyZW07IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAuY3RhLWJsb2NrLWNvbHVtbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREREREO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGU6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7IH1cbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlIGE6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZSAubWVnYS1ibG9jay10aXRsZV9fc3ViIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGUubWVudS1ibG9jay10aXRsZS0tYm9va1B1Ymxpc2hlciwgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZS5tZW51LWJsb2NrLXRpdGxlLS1ib29rV2l6YXJkLCAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tWYXVsdCwgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZS5tZW51LWJsb2NrLXRpdGxlLS1ib29rR2xvYmFsLCAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tTaG9wIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGUubWVudS1ibG9jay10aXRsZS0tYm9va1B1Ymxpc2hlciwgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZS5tZW51LWJsb2NrLXRpdGxlLS1ib29rV2l6YXJkLCAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tWYXVsdCwgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZS5tZW51LWJsb2NrLXRpdGxlLS1ib29rR2xvYmFsLCAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tTaG9wIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfVxuICAgICAgICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGUubWVudS1ibG9jay10aXRsZS0tYm9va1B1Ymxpc2hlcjpiZWZvcmUsIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGUubWVudS1ibG9jay10aXRsZS0tYm9va1dpemFyZDpiZWZvcmUsIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGUubWVudS1ibG9jay10aXRsZS0tYm9va1ZhdWx0OmJlZm9yZSwgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZS5tZW51LWJsb2NrLXRpdGxlLS1ib29rR2xvYmFsOmJlZm9yZSwgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZS5tZW51LWJsb2NrLXRpdGxlLS1ib29rU2hvcDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VydmljZS1sb2dvcy9zZXJ2aWNlLWNpcmNsZS1jb2xvdXItLWJvb2tQdWJsaXNoZXIuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgdG9wOiAtMC4zMTI1cmVtO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjg3NXJlbTsgfSB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZS5tZW51LWJsb2NrLXRpdGxlLS1ib29rUHVibGlzaGVyIGEge1xuICAgICAgICAgICAgY29sb3I6ICNEQ0FGMDE7IH1cbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tXaXphcmQgYSB7XG4gICAgICAgICAgICBjb2xvcjogI0I5QzQwMDsgfVxuICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGUubWVudS1ibG9jay10aXRsZS0tYm9va1dpemFyZDpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2UtbG9nb3Mvc2VydmljZS1jaXJjbGUtY29sb3VyLS1ib29rV2l6YXJkLnN2Z1wiKTsgfVxuICAgICAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSA+IGxpLm1lZ2EtbWVudS1pdGVtID4gLm1lZ2Etc3ViLW1lbnUgLm1lZ2EtYmxvY2stdGl0bGUubWVudS1ibG9jay10aXRsZS0tYm9va1ZhdWx0IGEge1xuICAgICAgICAgICAgY29sb3I6ICM3OUIzRTI7IH1cbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tWYXVsdDpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2UtbG9nb3Mvc2VydmljZS1jaXJjbGUtY29sb3VyLS1ib29rVmF1bHQuc3ZnXCIpOyB9XG4gICAgICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0gPiAubWVnYS1zdWItbWVudSAubWVnYS1ibG9jay10aXRsZS5tZW51LWJsb2NrLXRpdGxlLS1ib29rR2xvYmFsIGEge1xuICAgICAgICAgICAgY29sb3I6ICNDQzJCMTc7IH1cbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tHbG9iYWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZXJ2aWNlLWxvZ29zL3NlcnZpY2UtY2lyY2xlLWNvbG91ci0tYm9va0dsb2JhbC5zdmdcIik7IH1cbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tTaG9wIGEge1xuICAgICAgICAgICAgY29sb3I6ICMyNjM2ODk7IH1cbiAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrLXRpdGxlLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tTaG9wOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VydmljZS1sb2dvcy9zZXJ2aWNlLWNpcmNsZS1jb2xvdXItLWJvb2tTaG9wLnN2Z1wiKTsgfVxuICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrX19pbm5lciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgICAudG9wLWJhci1jb250YWluZXIgI21lZ2EtbWVudS13cmFwLXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS13cmFwICNtZWdhLW1lbnUtd29yZHByZXNzLW1lbnUubWVnYS1tZW51Lm1heC1tZWdhLW1lbnUgPiBsaS5tZWdhLW1lbnUtaXRlbSA+IC5tZWdhLXN1Yi1tZW51IC5tZWdhLWJsb2NrX19pbm5lciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyLjVyZW07IH0gfVxuICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW0ubWVnYS1tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIC5tZWdhLWluZGljYXRvciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnRvcC1iYXItY29udGFpbmVyICNtZWdhLW1lbnUtd3JhcC13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUtd3JhcCAjbWVnYS1tZW51LXdvcmRwcmVzcy1tZW51Lm1lZ2EtbWVudS5tYXgtbWVnYS1tZW51ID4gbGkubWVnYS1tZW51LWl0ZW06bGFzdC1jaGlsZCA+IC5tZWdhLXN1Yi1tZW51IHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cblxuLnByZWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgcGFkZGluZzogMC40Mzc1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnByZWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAucHJlaGVhZGVyIC5wcmVoZWFkZXJfX21lc3NhZ2UgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wcmVoZWFkZXIgLnByZWhlYWRlcl9fbWVzc2FnZSBhIHtcbiAgICBjb2xvcjogIzU0Njc3NjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAucHJlaGVhZGVyIC5wcmVoZWFkZXJfX21lc3NhZ2UgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnByZWhlYWRlciAucHJlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5wcmVoZWFkZXIgLnByZWFkZXJfX3NlYXJjaC1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICAucHJlaGVhZGVyIC5wcmVhZGVyX19zZWFyY2gtY29udGFpbmVyIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC4zNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC40Njg3NXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG4gICAgLnByZWhlYWRlciAucHJlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uLS1wdWJsaXNoaW5nLWd1aWRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQ0FGMDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1ZW0pIHtcbiAgICAgICAgLnByZWhlYWRlciAucHJlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uLS1wdWJsaXNoaW5nLWd1aWRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgLnByZWhlYWRlciAucHJlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uLS1wdWJsaXNoaW5nLWd1aWRlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MzOWIwMTsgfVxuICAgICAgLnByZWhlYWRlciAucHJlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uLS1wdWJsaXNoaW5nLWd1aWRlOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDAuNDM3NXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEuMzEyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI5OHB4IC00cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgICAucHJlaGVhZGVyIC5wcmVhZGVyX19zZWFyY2gtY29udGFpbmVyIC5idXR0b24tLXNlcnZpY2VzLWd1aWRlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwLjQzNzVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuODc1cmVtO1xuICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNThweCAtNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgICAucHJlaGVhZGVyIC5wcmVhZGVyX19zZWFyY2gtY29udGFpbmVyIC5idXR0b24tLWJvb2t3aXphcmQtcXVvdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg3NXJlbTsgfVxuICAgICAgLnByZWhlYWRlciAucHJlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uLS1ib29rd2l6YXJkLXF1b3RlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYWIwMDsgfVxuICAgICAgLnByZWhlYWRlciAucHJlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uLS1ib29rd2l6YXJkLXF1b3RlOmhvdmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgICAgLnByZWhlYWRlciAucHJlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uLS1ib29rd2l6YXJkLXF1b3RlOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDAuNDM3NXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDEuMTg3NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk3cHggLTQ1cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgICAucHJlaGVhZGVyIC5wcmVhZGVyX19zZWFyY2gtY29udGFpbmVyIC5idXR0b24tLWFjY291bnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjNTQ2Nzc2O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAucHJlaGVhZGVyIC5wcmVhZGVyX19zZWFyY2gtY29udGFpbmVyIC5idXR0b24tLWFjY291bnQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogMC40Mzc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMC40Mzc1cmVtO1xuICAgICAgICB3aWR0aDogMC45Mzc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQxcHggLTlweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuXG4ucHJlaGVhZGVyIC5hY2NvdW50LWRyb3Bkb3duLCAudGFiYmFyIC5hY2NvdW50LWRyb3Bkb3duIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIHJpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDEzLjc1cmVtO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDIwNywgMjA3LCAyMDcsIDAuNSk7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAucHJlaGVhZGVyIC5hY2NvdW50LWRyb3Bkb3duLm9wZW5lZCwgLnRhYmJhciAuYWNjb3VudC1kcm9wZG93bi5vcGVuZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAgICAgLnByZWhlYWRlciAuYWNjb3VudC1kcm9wZG93bi5vcGVuZWQsIC50YWJiYXIgLmFjY291bnQtZHJvcGRvd24ub3BlbmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5wcmVoZWFkZXIgLmFjY291bnQtZHJvcGRvd246YmVmb3JlLCAudGFiYmFyIC5hY2NvdW50LWRyb3Bkb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTAuNDM3NXJlbTtcbiAgICByaWdodDogMC42MjVyZW07XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtOyB9XG4gIC5wcmVoZWFkZXIgLmFjY291bnQtZHJvcGRvd24gbGksIC50YWJiYXIgLmFjY291bnQtZHJvcGRvd24gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMjEsIDIyMSwgMjIxLCAwLjMpO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAucHJlaGVhZGVyIC5hY2NvdW50LWRyb3Bkb3duIGxpIC5zZXJ2aWNlLWljb24sIC50YWJiYXIgLmFjY291bnQtZHJvcGRvd24gbGkgLnNlcnZpY2UtaWNvbiB7XG4gICAgICB3aWR0aDogMi4xODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjQ2ODc1cmVtO1xuICAgICAgZmxleDogMCAwIDIuMTg3NXJlbTsgfVxuICAgIC5wcmVoZWFkZXIgLmFjY291bnQtZHJvcGRvd24gbGkgc3BhbiwgLnRhYmJhciAuYWNjb3VudC1kcm9wZG93biBsaSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXg6IDAgMCA4LjQzNzVyZW07XG4gICAgICBtYXJnaW46IDAgMC4zMTI1cmVtOyB9XG4gICAgLnByZWhlYWRlciAuYWNjb3VudC1kcm9wZG93biBsaSAuYnV0dG9uLCAudGFiYmFyIC5hY2NvdW50LWRyb3Bkb3duIGxpIC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwLjEyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC43MnB4OyB9XG4gICAgLnByZWhlYWRlciAuYWNjb3VudC1kcm9wZG93biBsaSAuc2Vjb25kYXJ5LCAudGFiYmFyIC5hY2NvdW50LWRyb3Bkb3duIGxpIC5zZWNvbmRhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjNTU1NTU1O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RERERERDsgfVxuICAgICAgLnByZWhlYWRlciAuYWNjb3VudC1kcm9wZG93biBsaSAuc2Vjb25kYXJ5OmFmdGVyLCAudGFiYmFyIC5hY2NvdW50LWRyb3Bkb3duIGxpIC5zZWNvbmRhcnk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMC41NjI1cmVtO1xuICAgICAgICB3aWR0aDogMC4zMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIxcHggLTI5cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRhYmJhciAuYWNjb3VudC1kcm9wZG93biB7XG4gIHRvcDogNC4yNXJlbTtcbiAgcmlnaHQ6IDMuNzVyZW07IH1cblxuLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDA7XG4gIHotaW5kZXg6IDEyO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICBwYWRkaW5nLXRvcDogNS42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mdWxsc2NyZWVuLW5hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbi5vcGVuZWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbi5vcGVuZWQgI21lbnUtZGVza3RvcC1tZW51IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uLm9wZW5lZCAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uX19jdGEge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjRzO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uICNtZW51LWRlc2t0b3AtbWVudSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4ycyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7IH1cbiAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiAubWVudSB7XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICAgIC5mdWxsc2NyZWVuLW5hdmlnYXRpb24gLm1lbnUgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5mdWxsc2NyZWVuLW5hdmlnYXRpb24gLm1lbnUgbGkubWVudS1pdGVtLS1uZXctYmFkZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiAubWVudSBsaS5tZW51LWl0ZW0tLW5ldy1iYWRnZSA+IGEge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgICAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uIC5tZW51IGxpLm1lbnUtaXRlbS0tbmV3LWJhZGdlOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnbmV3JztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQjEzMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiAubWVudSBsaS5pcy1hY3RpdmUgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAgICAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiAubWVudSBsaSAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDAuNDM3NXJlbTtcbiAgICAgICAgd2lkdGg6IDAuODEyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU0cHggLTM0cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiAubWVudSBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgICAgIC5mdWxsc2NyZWVuLW5hdmlnYXRpb24gLm1lbnUgbGkgLnN1Ym1lbnUge1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG4gICAgICAgIC5mdWxsc2NyZWVuLW5hdmlnYXRpb24gLm1lbnUgbGkgLnN1Ym1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uIC5tZW51IGxpIC5zdWJtZW51IGxpIGEge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uIC5mdWxsc2NyZWVuLW5hdmlnYXRpb25fX2N0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvdHRvbTogLTEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIyLjkzNzVlbSkge1xuICAgICAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uX19jdGEge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI2LjI1ZW0pIHtcbiAgICAgIC5mdWxsc2NyZWVuLW5hdmlnYXRpb24gLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbl9fY3RhIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uIC5mdWxsc2NyZWVuLW5hdmlnYXRpb25fX2N0YSAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uX19jdGEtaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleDogMCAwIDMyJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgIC5mdWxsc2NyZWVuLW5hdmlnYXRpb24gLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbl9fY3RhIC5mdWxsc2NyZWVuLW5hdmlnYXRpb25fX2N0YS1pdGVtOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDEuMTg3NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM0NHB4IC0ycHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgICAgIC5mdWxsc2NyZWVuLW5hdmlnYXRpb24gLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbl9fY3RhIC5mdWxsc2NyZWVuLW5hdmlnYXRpb25fX2N0YS1pdGVtLS1zZXJ2aWNlcy1ib29rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjc4cHggLTNweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuICAgICAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uX19jdGEgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbl9fY3RhLWl0ZW0tLXB1Ymxpc2hpbmctZ3VpZGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEuMzEyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyMXB4IC00cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cblxuYm9keS5tZW51LW9wZW5lZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuICBib2R5Lm1lbnUtb3BlbmVkIC50YWJiYXItY29udGFpbmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjNGM0YzO1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgYm9keS5tZW51LW9wZW5lZCAudGFiYmFyLWNvbnRhaW5lciAuc2VydmljZS1oZWFkZXIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIGJvZHkubWVudS1vcGVuZWQgLnRhYmJhci1jb250YWluZXIgLnN0aWNreS1jb250YWluZXIge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBib2R5Lm1lbnUtb3BlbmVkIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIge1xuICAgICAgei1pbmRleDogMTM7IH1cbiAgICAgIGJvZHkubWVudS1vcGVuZWQgLnRhYmJhci1jb250YWluZXIgLnRhYmJhciAudGFiYmFyX19tZW51IC5tb2JpbGUtbWVudS10cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ2Nsb3NlJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiAjOTZBMkFCOyB9XG4gICAgICBib2R5Lm1lbnUtb3BlbmVkIC50YWJiYXItY29udGFpbmVyIC50YWJiYXIgLnRhYmJhcl9fbWVudSAubWVudS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMC41NjI1cmVtIDJyZW0gMC41NjI1cmVtIDAuODc1cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNzJweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC41NjI1cmVtO1xuICAgIHdpZHRoOiAwLjMxMjVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTdweCAtMjlweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7XG4gICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4uYnV0dG9uLS10cmFuc3BhcmVudCwgLnNpZGViYXIgLnNlcnZpY2Utc2lkZWJhciAuc2VydmljZS1zaWRlYmFyX19jb250ZW50IC5idXR0b24sIC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhIC5idXR0b24sIC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhIC5idXR0b24sIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19jb250ZW50IC5idXR0b24sIC52aWRlby13aXRoLXRleHQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzU0Njc3NjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ1dHRvbi0tdHJhbnNwYXJlbnQ6aG92ZXIsIC5zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXIgLnNlcnZpY2Utc2lkZWJhcl9fY29udGVudCAuYnV0dG9uOmhvdmVyLCAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSAuYnV0dG9uOmhvdmVyLCAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSAuYnV0dG9uOmhvdmVyLCAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9fY29udGVudCAuYnV0dG9uOmhvdmVyLCAudmlkZW8td2l0aC10ZXh0IC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tLXRyYW5zcGFyZW50OmFmdGVyLCAuc2lkZWJhciAuc2VydmljZS1zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXJfX2NvbnRlbnQgLmJ1dHRvbjphZnRlciwgLnR3by1jb2x1bW4tdGV4dC1hcmVhIC50ZXh0LWFyZWEgLmJ1dHRvbjphZnRlciwgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgLmJ1dHRvbjphZnRlciwgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbjphZnRlciwgLnZpZGVvLXdpdGgtdGV4dCAuYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC41NjI1cmVtO1xuICAgIHdpZHRoOiAwLjMxMjVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIxcHggLTI5cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9XG5cbi8qKlxyXG4gKiBTd2lwZXIgNC40LjFcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXHJcbiAqXHJcbiAqIENvcHlyaWdodCAyMDE0LTIwMTggVmxhZGltaXIgS2hhcmxhbXBpZGlcclxuICpcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXHJcbiAqXHJcbiAqIFJlbGVhc2VkIG9uOiBTZXB0ZW1iZXIgMTQsIDIwMThcclxuICovXG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHRyYW5zcGFyZW50KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHRyYW5zcGFyZW50KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHRyYW5zcGFyZW50KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTsgfVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICB0b3VjaC1hY3Rpb246IHBhbi14OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luLXRvcDogLTIycHg7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICB0cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIEJ1bGxldHMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjsgfVxuXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA0cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyM2ZmZiclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogYTExeSAqL1xuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlciB7XG4gIC8qIFdpbmRvd3MgOCBJRSAxMCBmaXggKi9cbiAgLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLmZ0ZC1zb2NpYWwgaDUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mdGQtc29jaWFsIC5jcnVuY2hpZnktc29jaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mdGQtc29jaWFsIC5jcnVuY2hpZnktc29jaWFsIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuZnRkLXNvY2lhbCAuY3J1bmNoaWZ5LXNvY2lhbDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZ0ZC1zb2NpYWwgLmNydW5jaGlmeS1zb2NpYWwgLmNydW5jaGlmeS1saW5rIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uc2lkZWJhciAud2lkZ2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnNpZGViYXIgLndpZGdldCBoNiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREREREO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5zaWRlYmFyIC53aWRnZXQgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43NXJlbSAycmVtIDAuNzVyZW0gMC44NzVyZW07XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zaWRlYmFyIC53aWRnZXQgLmJ1dHRvbjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTdweCAtMjhweDsgfVxuICAuc2lkZWJhciAud2lkZ2V0IHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH1cbiAgICAuc2lkZWJhciAud2lkZ2V0IHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH1cbiAgICAgIC5zaWRlYmFyIC53aWRnZXQgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNpZGViYXIgLndpZGdldCB1bC5hY2NvcmRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwIDA7IH1cbiAgICAuc2lkZWJhciAud2lkZ2V0IHVsLmFjY29yZGlvbiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH1cbiAgICAgIC5zaWRlYmFyIC53aWRnZXQgdWwuYWNjb3JkaW9uIGxpLmZ0ZC1ibG9nLXdpZGdldC1tb250aC1saSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREREREOyB9XG4gICAgICAuc2lkZWJhciAud2lkZ2V0IHVsLmFjY29yZGlvbiBsaSAuZnRkLWJsb2ctd2lkZ2V0LXRhcmdldCwgLnNpZGViYXIgLndpZGdldCB1bC5hY2NvcmRpb24gbGkgLmZ0ZC1ibG9nLXdpZGdldC12aWV3bW9yZS1tb250aHMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLnNpZGViYXIgLndpZGdldCB1bC5hY2NvcmRpb24gbGkgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAuc2lkZWJhciAud2lkZ2V0IHVsLmFjY29yZGlvbiBsaSB1bCBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgICAgLnNpZGViYXIgLndpZGdldCB1bC5hY2NvcmRpb24gbGkgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLnNpZGViYXIgLndpZGdldCB1bC5hY2NvcmRpb24gbGkgLmZ0ZC1ibG9nLXdpZGdldC12aWV3LW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwOyB9XG4gICAgICAgIC5zaWRlYmFyIC53aWRnZXQgdWwuYWNjb3JkaW9uIGxpIC5mdGQtYmxvZy13aWRnZXQtdmlldy1tb3JlOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1ZpZXcgbGVzcyBhcnRpY2xlcyc7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgIC5zaWRlYmFyIC53aWRnZXQgdWwuYWNjb3JkaW9uIGxpIC5mdGQtYmxvZy13aWRnZXQtdmlldy1tb3JlLmNsb3NlZDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdWaWV3IG9sZGVyIGFydGljbGVzJztcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5zaWRlYmFyIC53aWRnZXQgdWwuYWNjb3JkaW9uIGxpIC5hY2NvcmRpb24tbW9udGgge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgICAgICAgLnNpZGViYXIgLndpZGdldCB1bC5hY2NvcmRpb24gbGkgLmFjY29yZGlvbi1tb250aDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgICAgICAgd2lkdGg6IDAuNDM3NXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04OHB4IC0zMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgIC5zaWRlYmFyIC53aWRnZXQgdWwuYWNjb3JkaW9uIGxpIC5hY2NvcmRpb24tbW9udGguY2xvc2VkOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMzNweDsgfVxuICAgICAgLnNpZGViYXIgLndpZGdldCB1bC5hY2NvcmRpb24gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5zaWRlYmFyIC5zaWRlYmFyLWNvbnRhY3Qge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuNjI1cmVtOyB9XG4gIC5zaWRlYmFyIC5zaWRlYmFyLWNvbnRhY3QgLnNpZGViYXItY29udGFjdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5zaWRlYmFyIC5zaWRlYmFyLWNvbnRhY3QgLmJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2lkZWJhciAuc2lkZWJhci1jb250YWN0IHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAuc2lkZWJhciAuc2lkZWJhci1jb250YWN0IHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXIge1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXIgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLnNpZGViYXIgLnNlcnZpY2Utc2lkZWJhciAuc2VydmljZS1zaWRlYmFyX19pbWFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnNpZGViYXIgLnNlcnZpY2Utc2lkZWJhciAuc2VydmljZS1zaWRlYmFyX19pbWFnZSAuc2VydmljZS1zaWRlYmFyX19pbWFnZS1zZXJ2aWNlLWljb24ge1xuICAgICAgd2lkdGg6IDQuNjg3NXJlbTsgfVxuICAgIC5zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXIgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2UgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2Utc2VydmljZS1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNDM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLnNpZGViYXIgLnNlcnZpY2Utc2lkZWJhciAuc2VydmljZS1zaWRlYmFyX19pbWFnZSAuc2VydmljZS1zaWRlYmFyX19pbWFnZS1zZXJ2aWNlLW5hbWUgLmJvb2sge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXIgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2UgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnNpZGViYXIgLnNlcnZpY2Utc2lkZWJhciAuc2VydmljZS1zaWRlYmFyX19jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW07IH1cbiAgICAuc2lkZWJhciAuc2VydmljZS1zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXJfX2NvbnRlbnQgLnNlcnZpY2Utc2lkZWJhcl9fY29udGVudC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuc2lkZWJhciAuc2VydmljZS1zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXJfX2NvbnRlbnQgLmJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzU1NTU1NTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2lkZWJhciAuc2lkZWJhci1zZXJ2aWNlcy1saXN0IHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNpZGViYXIgLnNpZGViYXItc2VydmljZXMtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAuc2lkZWJhciAuc2lkZWJhci1zZXJ2aWNlcy1saXN0IC5zZXJ2aWNlLWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgNDUlOyB9IH1cbiAgLnNpZGViYXIgLnNpZGViYXItc2VydmljZXMtbGlzdCAuc2VydmljZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLnNpZGViYXIgLnNpZGViYXItc2VydmljZXMtbGlzdCAuc2VydmljZS1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5zaWRlYmFyIC5zaWRlYmFyLXNlcnZpY2VzLWxpc3QgLnNlcnZpY2UtaXRlbSAuc2VydmljZS1pdGVtX19pY29uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIC5zaWRlYmFyIC5zaWRlYmFyLXNlcnZpY2VzLWxpc3QgLnNlcnZpY2UtaXRlbSAuc2VydmljZS1pdGVtX19pY29uIHtcbiAgICAgIGZsZXg6IDAgMCA0LjY4NzVyZW07XG4gICAgICB3aWR0aDogNC42ODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLnNpZGViYXIgLnNpZGViYXItc2VydmljZXMtbGlzdCAuc2VydmljZS1pdGVtIC5zZXJ2aWNlLWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgIC5zaWRlYmFyIC5zaWRlYmFyLXNlcnZpY2VzLWxpc3QgLnNlcnZpY2UtaXRlbSAuc2VydmljZS1pdGVtX19kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnNpZGViYXIgLnNpZGViYXItc2VydmljZXMtbGlzdCAuc2VydmljZS1pdGVtIC5zZXJ2aWNlLWl0ZW1fX2Rlc2NyaXB0aW9uIC5zZXJ2aWNlLWl0ZW1fX2Rlc2NyaXB0aW9uLXNlcnZpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5zaWRlYmFyIC53aWRnZXRfYXJjaGl2ZSB1bCBsaSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cbiAgLnBhZ2luYXRpb24gbGkgLmN1cnJlbnQge1xuICAgIGJvcmRlci1jb2xvcjogIzU0Njc3NjsgfVxuICAucGFnaW5hdGlvbiBsaSBzcGFuLCAucGFnaW5hdGlvbiBsaSBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07XG4gICAgY29sb3I6ICM1NTU1NTU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5wYWdpbmF0aW9uIGxpIGEge1xuICAgIGNvbG9yOiAjNTQ2Nzc2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jb250YWN0LWN0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xJTsgfSB9XG5cbi5jb250YWN0LWN0YSAuY3RhLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5jb250YWN0LWN0YSAuY3RhLWl0ZW0gLmN0YS1pdGVtX19pbm5lciB7XG4gICAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdC1jdGEgLmN0YS1pdGVtIHtcbiAgICAgIGZsZXg6IDAgMCAzMS4zMyU7XG4gICAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDElOyB9IH1cbiAgLmNvbnRhY3QtY3RhIC5jdGEtaXRlbSAuY3RhLWl0ZW1fX2ljb24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xuICAgIGhlaWdodDogNi4yNXJlbTtcbiAgICB3aWR0aDogNi4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTUzLCAxNTMsIDE1MywgMC41KTsgfVxuICAgIC5jb250YWN0LWN0YSAuY3RhLWl0ZW0gLmN0YS1pdGVtX19pY29uLWNvbnRhaW5lciBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuY29udGFjdC1jdGEgLmN0YS1pdGVtIC5jdGEtaXRlbV9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuY29udGFjdC1jdGEgLmN0YS1pdGVtIGEge1xuICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gIC5jb250YWN0LWN0YSAuY3RhLWl0ZW0gYVtocmVmXj1cInRlbDpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jb250YWN0LWxvY2F0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmNvbnRhY3QtbG9jYXRpb24gLmNvbnRhY3QtbG9jYXRpb24td3JhcCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbi13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRhY3QtbG9jYXRpb24gLmNvbnRhY3QtbG9jYXRpb25fX2NvbHVtbiB7XG4gICAgICAgIGZsZXg6IDAgMCA0OCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uIHtcbiAgICAgICAgZmxleDogMCAwIDMzJTsgfVxuICAgICAgICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uLmNvbnRhY3QtbG9jYXRpb25fX2NvbHVtbi1jb3B5cmlnaHQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG4gICAgLmNvbnRhY3QtbG9jYXRpb24gLmNvbnRhY3QtbG9jYXRpb25fX2NvbHVtbiAuY29udGFjdC10ZWxlcGhvbmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uIC5jb250YWN0LXRlbGVwaG9uZSBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAgIC5jb250YWN0LWxvY2F0aW9uIC5jb250YWN0LWxvY2F0aW9uX19jb2x1bW4gLmNvbnRhY3QtdGVsZXBob25lIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgICAgICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uIC5jb250YWN0LXRlbGVwaG9uZSBsaSBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgICAgICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uIC5jb250YWN0LXRlbGVwaG9uZSBsaSBzcGFuIHtcbiAgICAgICAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gICAgLmNvbnRhY3QtbG9jYXRpb24gLmNvbnRhY3QtbG9jYXRpb25fX2NvbHVtbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uLWNvcHlyaWdodCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY29udGFjdC1sb2NhdGlvbiAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uIC5jb250YWN0LWFkZHJlc3MgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5jb250YWN0LWxvY2F0aW9uIC5jb250YWN0LWxvY2F0aW9uX19tYXAge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIGhlaWdodDogMjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNvbnRhY3QtbG9jYXRpb24gaWZyYW1lLCAuY29udGFjdC1sb2NhdGlvbiBvYmplY3QsIC5jb250YWN0LWxvY2F0aW9uIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9oZWFkaW5nIC5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9oZWFkaW5nIC5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZF9odG1sIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfaHRtbCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2h0bWwgLmdmaWVsZC1tZXNzYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgICAgICAgZmxleDogMCAwIDcwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfaHRtbCAuZ2ZpZWxkLW1lc3NhZ2UgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10aXRsZSBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDUuOTM3NXJlbTsgfVxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBsYWJlbCB7XG4gICAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLWhpZGUtbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5nZmllbGRfbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICM1NTU1NTU7XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmaWVsZF9sYWJlbCAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgZmxleDogMCAwIDI3JTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC52YWxpZGF0aW9uX21lc3NhZ2UsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDAgMCA3NyU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLnZhbGlkYXRpb25fbWVzc2FnZSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMCAwIDcwJTsgfSB9XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yID4gc3BhbiB7XG4gICAgICAgICAgZmxleDogMCAwIDQ5JTsgfVxuICAgICAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yID4gc3BhbiBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDIuNTYyNXJlbTsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIGlucHV0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNEREREREQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfcmFkaW8sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX3JhZGlvIC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX3JhZGlvIC5nZmllbGRfcmFkaW8ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9yYWRpbyBsaSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfcmFkaW8gLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfcmFkaW8gLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfcmFkaW8gLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfcmFkaW8gLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAgICAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCBhLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIGEsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX3JhZGlvIC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwgYSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfcmFkaW8gLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzU0Njc3NjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfcmFkaW8gLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfcmFkaW8gLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCB7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTsgfVxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfdmlzaWJpbGl0eV9oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMnJlbSAwLjc1cmVtIDAuODc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIGZvcm0gLnZhbGlkYXRpb25fZXJyb3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0NDMkIxNztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZm9ybS13cmFwcGVyX19idXR0b24tY29sb3VyLS15ZWxsb3cgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFNzFDOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5mb3JtLXdyYXBwZXJfX2J1dHRvbi1jb2xvdXItLXllbGxvdyAuYnV0dG9uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIxcHggLTI5cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZvcm0td3JhcHBlcl9fYnV0dG9uLWNvbG91ci0tZGFyay1ncmVlbiAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzQjEzMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZm9ybS13cmFwcGVyX19idXR0b24tY29sb3VyLS1ncmVlbiAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZm9ybS13cmFwcGVyX19idXR0b24tY29sb3VyLS1yZWQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQzJCMTc7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZvcm0td3JhcHBlcl9fYnV0dG9uLWNvbG91ci0tbGlnaHQtYmx1ZSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc5QjNFMjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZm9ybS13cmFwcGVyX19idXR0b24tY29sb3VyLS1kYXJrLWJsdWUgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjM2ODk7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZvcm0td3JhcHBlcl9fYnV0dG9uLWNvbG91ci0tZ3JleSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjsgfVxuXG4ucmVjYXB0Y2hhLW1lc3NhZ2Uge1xuICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzdiN2I3YjtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwOyB9XG4gIC5yZWNhcHRjaGEtbWVzc2FnZSBhIHtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnNwaW5lLXdpZHRoLWNhbGN1bGF0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3BpbmUtY2FsY3VsYXRvci1iZy1pbWFnZS5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBwYWRkaW5nOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDMuNzVyZW07IH0gfVxuICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2Zvcm1fZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2ZpZWxkLXNwaW5lLXdpZHRoLWRpYWdyYW0ge1xuICAgICAgb3JkZXI6IC0xO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZmllbGQtc3BpbmUtd2lkdGgtZGlhZ3JhbSAuc3BpbmUtd2lkdGgtZGlhZ3JhbSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMgLmdmaWVsZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLnNwaW5lLXdpZHRoLWNhbGN1bGF0b3IgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNy41cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgYSB7XG4gICAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gICAgICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLnNwaW5lLWNhbGN1bGF0b3JfX2Rvd25sb2FkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHdpZHRoOiAxNi4yNXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuc3BpbmUtY2FsY3VsYXRvcl9fZG93bmxvYWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMi44MTI1cmVtOyB9IH1cbiAgICAgICAgLnNwaW5lLXdpZHRoLWNhbGN1bGF0b3IgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5zcGluZS1jYWxjdWxhdG9yX19kb3dubG9hZDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gICAgICAgICAgd2lkdGg6IDEuNzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzIycHggLTI3cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNwaW5lLXdpZHRoLWNhbGN1bGF0b3IgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5zcGluZS1jYWxjdWxhdG9yX19kb3dubG9hZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLnNwaW5lLWNhbGN1bGF0b3JfX2Rvd25sb2FkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMuNzVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgLnNwaW5lLXdpZHRoLWNhbGN1bGF0b3IgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5zcGluZS1jYWxjdWxhdG9yX19kb3dubG9hZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtc3BpbmUtd2lkdGgtZGlhZ3JhbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtc3BpbmUtd2lkdGgtZGlhZ3JhbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgICAgLnNwaW5lLXdpZHRoLWNhbGN1bGF0b3IgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC1zcGluZS13aWR0aC1kaWFncmFtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtc3BpbmUtd2lkdGgtZGlhZ3JhbSB7XG4gICAgICAgICAgICB3aWR0aDogNDUlOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtc3BpbmUtd2lkdGgtZGlhZ3JhbSB7XG4gICAgICAgICAgICB3aWR0aDogNjAlOyB9IH1cbiAgICAgICAgLnNwaW5lLXdpZHRoLWNhbGN1bGF0b3IgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC1zcGluZS13aWR0aC1kaWFncmFtIC5zcGluZS13aWR0aC1kaWFncmFtIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLXNwaW5lLXdpZHRoLWRpYWdyYW0gLnNwaW5lLXdpZHRoLWRpYWdyYW0gLnNwaW5lLXdpZHRoLXZhbHVlLXdyYXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiAtMS44NzVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTEuMjVyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAgIC5zcGluZS13aWR0aC1jYWxjdWxhdG9yIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtc3BpbmUtd2lkdGgtZGlhZ3JhbSAuc3BpbmUtd2lkdGgtZGlhZ3JhbSAuc3BpbmUtd2lkdGgtdmFsdWUtd3JhcDpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM1NDY3NzY7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtOHB4OyB9XG4gICAgICAgICAgICAuc3BpbmUtd2lkdGgtY2FsY3VsYXRvciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLXNwaW5lLXdpZHRoLWRpYWdyYW0gLnNwaW5lLXdpZHRoLWRpYWdyYW0gLnNwaW5lLXdpZHRoLXZhbHVlLXdyYXAgLnNwaW5lLXdpZHRoLXZhbHVlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhlcm8tbGFuZGluZy1iYW5uZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC52YWxpZGF0aW9uX21lc3NhZ2UsIC5oZXJvLWxhbmRpbmctYmFubmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG5cbi5oZXJvLWxhbmRpbmctYmFubmVyIC5lcnJvck1lc3NhZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudmFsaWRhdGlvbl9lcnJvciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MyQjE3O1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIHNhbnMtc2VyaWYsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQzJCMTc7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjbGVhcjogYm90aDtcbiAgdG9wOiAwLjMxMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDAuMzEyNXJlbSAwLjMxMjVyZW0gMC45Mzc1cmVtOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZmllbGQgLnZhbGlkYXRpb25fbWVzc2FnZTpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZmZmZmZmO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IC0xMXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTBweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2hlY2tib3gge1xuICBtYXJnaW46IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xuICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc5QjNFMjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgxOTMsIDE5MywgMTkzLCAwLjM1KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCAyMCU7IH0gfVxuICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtOmxhc3QtY2hpbGQgLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2Utc3RlcC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW06bGFzdC1jaGlsZCAuc2VydmljZV9faXRlbS1ncm91cDphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2Utc3RlcC1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDY3NzYgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTMuNzVyZW07XG4gICAgICAgIHRvcDogNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2Utc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2Utc3RlcC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gICAgICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIC5zZXJ2aWNlLXN0ZXAtbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogLTAuODEyNXJlbTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJvcmRlci10b3A6IDE2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMTZweCBzb2xpZCAjNTQ2Nzc2OyB9XG4gICAgICAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cDpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAge1xuICAgICAgICAgIHBhZGRpbmc6IDIuODEyNXJlbSAwOyB9IH1cbiAgICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDYuNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZV9faXRlbS1ncm91cF9faWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiA1cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZV9faXRlbS1ncm91cF9faWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogNi43NXJlbTsgfSB9XG4gICAgICAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2xhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2xhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2xhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLXR5cGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjNTQ2Nzc2O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLXR5cGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VzX19pdGVtLS1wdWJsaXNoZXJzIHtcbiAgICAgICAgZmxleDogMCAwIDYwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VzX19pdGVtLS1wdWJsaXNoZXJzIC5zZXJ2aWNlX19pdGVtLWdyb3VwIHtcbiAgICAgICAgICBmbGV4OiAxIDAgMzElOyB9XG4gICAgICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VzX19pdGVtLS1wdWJsaXNoZXJzIC5zZXJ2aWNlX19pdGVtLXR5cGUge1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cblxuLnNlYXJjaCAuaGVyby1jb250ZW50X19zZWFyY2gtZm9ybSB7XG4gIG1hcmdpbi10b3A6IDEuNDA2MjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlYXJjaCAuaGVyby1jb250ZW50X19zZWFyY2gtZm9ybSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnNlYXJjaCAuaGVyby1jb250ZW50X19zZWFyY2gtZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuc2VhcmNoIC5oZXJvLWNvbnRlbnRfX3NlYXJjaC1mb3JtIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgd2lkdGg6IDE4Ljc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWFyY2ggLmhlcm8tY29udGVudF9fc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgd2lkdGg6IDI1cmVtOyB9IH1cbiAgLnNlYXJjaCAuaGVyby1jb250ZW50X19zZWFyY2gtZm9ybSBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuICAuc2VhcmNoIC5oZXJvLWNvbnRlbnRfX3NlYXJjaC1mb3JtIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cbiAgLnNlYXJjaCAuaGVyby1jb250ZW50X19zZWFyY2gtZm9ybSBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuICAuc2VhcmNoIC5oZXJvLWNvbnRlbnRfX3NlYXJjaC1mb3JtIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuICAuc2VhcmNoIC5oZXJvLWNvbnRlbnRfX3NlYXJjaC1mb3JtIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG1pbi13aWR0aDogMTEuMjVyZW07XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cbiAgICAuc2VhcmNoIC5oZXJvLWNvbnRlbnRfX3NlYXJjaC1mb3JtIC5idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjQjlDNDAwOyB9XG4gIC5zZWFyY2ggLmhlcm8tY29udGVudF9fc2VhcmNoLWZvcm0gLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgLnNlYXJjaCAuaGVyby1jb250ZW50X19zZWFyY2gtZm9ybSAuaW5wdXQtZ3JvdXAtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAwLjU2MjVyZW07XG4gICAgICB3aWR0aDogMC4zMTI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05N3B4IC0yOXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7XG4gICAgICByaWdodDogMC42MjVyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5zZWFyY2ggLmhlcm8tY29udGVudF9fc2VhcmNoLWZvcm0gLmlucHV0LWdyb3VwLWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICByaWdodDogMC4zMTI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAwLjU2MjVyZW07XG4gICAgICB3aWR0aDogMC4zMTI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjFweCAtMjlweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9XG5cbi5zZWFyY2ggLnNlYXJjaC1yZXN1bHRzIC5yZXN1bHQtaXRlbSAucmVzdWx0LWl0ZW1fX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4jcmVhY3Qtcm9vdCB7XG4gIG1pbi1oZWlnaHQ6IDI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3JlYWN0LXJvb3Qge1xuICAgICAgbWluLWhlaWdodDogMzcuNXJlbTsgfSB9XG5cbi5pbWFnZS1tb2RhbCwgLmNvbnRlbnQtbW9kYWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdXRsaW5lOiAwOyB9XG4gIC5pbWFnZS1tb2RhbFthcmlhLWhpZGRlbj1cImZhbHNlXCJdLCAuY29udGVudC1tb2RhbFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmltYWdlLW1vZGFsW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0gLm1vZGFsLWNsb3NlLXRyaWdnZXIsIC5jb250ZW50LW1vZGFsW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0gLm1vZGFsLWNsb3NlLXRyaWdnZXIge1xuICAgICAgdG9wOiAtMi41cmVtO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5pbWFnZS1tb2RhbFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIC5pbWFnZS1tb2RhbF9faW5uZXIsIC5pbWFnZS1tb2RhbFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIC5jb250ZW50LW1vZGFsX19pbm5lciwgLmNvbnRlbnQtbW9kYWxbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSAuaW1hZ2UtbW9kYWxfX2lubmVyLCAuY29udGVudC1tb2RhbFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIC5jb250ZW50LW1vZGFsX19pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgLmltYWdlLW1vZGFsW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0gLmNvbnRlbnQtbW9kYWxfX2dyaWQsIC5jb250ZW50LW1vZGFsW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0gLmNvbnRlbnQtbW9kYWxfX2dyaWQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1pbi1oZWlnaHQ6IDgwdmg7XG4gICAgICBtaW4td2lkdGg6IDgwdnc7IH1cbiAgLmltYWdlLW1vZGFsIC5pbWFnZS1tb2RhbF9faW5uZXIsIC5pbWFnZS1tb2RhbCAuY29udGVudC1tb2RhbF9faW5uZXIsIC5jb250ZW50LW1vZGFsIC5pbWFnZS1tb2RhbF9faW5uZXIsIC5jb250ZW50LW1vZGFsIC5jb250ZW50LW1vZGFsX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDIuODEyNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC44Myk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmltYWdlLW1vZGFsIC5pbWFnZS1tb2RhbF9faW5uZXIgLmltYWdlLWNvbnRhaW5lciwgLmltYWdlLW1vZGFsIC5jb250ZW50LW1vZGFsX19pbm5lciAuaW1hZ2UtY29udGFpbmVyLCAuY29udGVudC1tb2RhbCAuaW1hZ2UtbW9kYWxfX2lubmVyIC5pbWFnZS1jb250YWluZXIsIC5jb250ZW50LW1vZGFsIC5jb250ZW50LW1vZGFsX19pbm5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmltYWdlLW1vZGFsIC5pbWFnZS1tb2RhbF9faW5uZXIgLmltYWdlLWNvbnRhaW5lciBpbWcsIC5pbWFnZS1tb2RhbCAuY29udGVudC1tb2RhbF9faW5uZXIgLmltYWdlLWNvbnRhaW5lciBpbWcsIC5jb250ZW50LW1vZGFsIC5pbWFnZS1tb2RhbF9faW5uZXIgLmltYWdlLWNvbnRhaW5lciBpbWcsIC5jb250ZW50LW1vZGFsIC5jb250ZW50LW1vZGFsX19pbm5lciAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwcmVtOyB9XG4gICAgLmltYWdlLW1vZGFsIC5pbWFnZS1tb2RhbF9faW5uZXIgLmltYWdlLW1vZGFsX19pbm5lci1jYXB0aW9uLCAuaW1hZ2UtbW9kYWwgLmNvbnRlbnQtbW9kYWxfX2lubmVyIC5pbWFnZS1tb2RhbF9faW5uZXItY2FwdGlvbiwgLmNvbnRlbnQtbW9kYWwgLmltYWdlLW1vZGFsX19pbm5lciAuaW1hZ2UtbW9kYWxfX2lubmVyLWNhcHRpb24sIC5jb250ZW50LW1vZGFsIC5jb250ZW50LW1vZGFsX19pbm5lciAuaW1hZ2UtbW9kYWxfX2lubmVyLWNhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgICAuaW1hZ2UtbW9kYWwgLmltYWdlLW1vZGFsX19pbm5lciAuaW1hZ2UtbW9kYWxfX2lubmVyLWNhcHRpb24gcCwgLmltYWdlLW1vZGFsIC5jb250ZW50LW1vZGFsX19pbm5lciAuaW1hZ2UtbW9kYWxfX2lubmVyLWNhcHRpb24gcCwgLmNvbnRlbnQtbW9kYWwgLmltYWdlLW1vZGFsX19pbm5lciAuaW1hZ2UtbW9kYWxfX2lubmVyLWNhcHRpb24gcCwgLmNvbnRlbnQtbW9kYWwgLmNvbnRlbnQtbW9kYWxfX2lubmVyIC5pbWFnZS1tb2RhbF9faW5uZXItY2FwdGlvbiBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaW1hZ2UtbW9kYWwgLm1vZGFsLWNsb3NlLXRyaWdnZXIsIC5jb250ZW50LW1vZGFsIC5tb2RhbC1jbG9zZS10cmlnZ2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIC4ycyBlYXNlLWluLW91dCAuMnMsIG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2NnB4IC0yM3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI5LCAyOSwgMjksIDAuOCk7IH1cblxuQGtleWZyYW1lcyBrZW5idXJucyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5hbmltYXRlLXN0YXJ0LWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmFuaW1hdGUtc3RhcnQtaGlkZGVuLmFuaW1hdGVkIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOXMgZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5hbmltYXRlZC1zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsgfVxuXG4uZGVsYXktMSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH1cblxuLmRlbGF5LTIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC40cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjRzOyB9XG5cbi5kZWxheS0zIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNnM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC42czsgfVxuXG4uZGVsYXktNCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjhzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuOHM7IH1cblxuLmRlbGF5LTUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cblxuLmRlbGF5LTYge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4ycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjJzOyB9XG5cbi5kZWxheS03IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuNHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS40czsgfVxuXG4uZGVsYXktOCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjZzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNnM7IH1cblxuLmRlbGF5LTkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS44cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjhzOyB9XG5cbi5kZWxheS0xMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyczsgfVxuXG4uZGVsYXktMTEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi4ycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjJzOyB9XG5cbi5kZWxheS0xMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjRzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuNHM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOyB9IH1cblxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICAwJSwgNTAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIDAlLCA1MCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuLnNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3dpbmcge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpOyB9XG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7IH1cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOyB9IH1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsgfVxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOyB9IH1cblxuLnRhZGEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSB9XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSB9XG5cbi53b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9IH1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbi5ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmZhZGVJblVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfSB9XG5cbi5mYWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyB9IH1cblxuLmZhZGVPdXREb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9IH1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgfSB9XG5cbi5mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfSB9XG5cbi5mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpOyB9XG4gIDAlLCA0MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpOyB9XG4gIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTsgfVxuICAwJSwgNDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMC45NSk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpOyB9XG4gIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMSk7IH0gfVxuXG4uYW5pbWF0ZWQuZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5Eb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5VcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMCUsIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbi5zbGlkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuLnNsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbi5zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMCUsIDIwJSwgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsgfVxuICA0MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDAlLCAyMCUsIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAyMCUsIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsgfVxuICA0MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTsgfSB9XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IH0gfVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0OyB9XG5cbi8qIG5ldyBhbmkgKi9cbi5hbmltYXRlZC1ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNjtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiA2OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2UtbG9vcCB7XG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlLWxvb3Age1xuICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7IH0gfVxuXG4uYm91bmNlLWxvb3Age1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2UtbG9vcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS1sb29wOyB9XG5cbi5idXR0b24tY29sb3VyLS1vcmFuZ2UgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQ0FGMDE7IH1cblxuLmJ1dHRvbi1jb2xvdXItLWdyZWVuIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwOyB9XG5cbi5idXR0b24tY29sb3VyLS15ZWxsb3cgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFNzFDOyB9XG4gIC5idXR0b24tY29sb3VyLS15ZWxsb3cgLmJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMXB4IC0yOXB4OyB9XG5cbi5idXR0b24tY29sb3VyLS1kYXJrLWdyZWVuIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNCMTMwOyB9XG5cbi5idXR0b24tY29sb3VyLS1ncmVlbiAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDsgfVxuXG4uYnV0dG9uLWNvbG91ci0tcmVkIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MyQjE3OyB9XG5cbi5idXR0b24tY29sb3VyLS1saWdodC1ibHVlIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzlCM0UyOyB9XG5cbi5idXR0b24tY29sb3VyLS1kYXJrLWJsdWUgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjM2ODk7IH1cblxuLmxhYmVsLXN0cmlwLCAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZS1zdGVwLWxhYmVsLCB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRoZWFkIHRoIHNwYW4udGhlYWRfX2lubmVyLnRoZWFkX19pbm5lci0tbW9zdC1wb3B1bGFyOmJlZm9yZSwgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2ltYWdlIC5jYXJkLWl0ZW1fX2ltYWdlLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgLmxhYmVsLXN0cmlwLmxhYmVsLXN0cmlwLS1kYXJrLWdyZWVuLCAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAubGFiZWwtc3RyaXAtLWRhcmstZ3JlZW4uc2VydmljZS1zdGVwLWxhYmVsLCB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRoZWFkIHRoIHNwYW4ubGFiZWwtc3RyaXAtLWRhcmstZ3JlZW4udGhlYWRfX2lubmVyLnRoZWFkX19pbm5lci0tbW9zdC1wb3B1bGFyOmJlZm9yZSwgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2ltYWdlIC5sYWJlbC1zdHJpcC0tZGFyay1ncmVlbi5jYXJkLWl0ZW1fX2ltYWdlLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNCMTMwOyB9XG4gIC5sYWJlbC1zdHJpcC5sYWJlbC1zdHJpcC0tb3JhbmdlLCAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAubGFiZWwtc3RyaXAtLW9yYW5nZS5zZXJ2aWNlLXN0ZXAtbGFiZWwsIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGhlYWQgdGggc3Bhbi5sYWJlbC1zdHJpcC0tb3JhbmdlLnRoZWFkX19pbm5lci50aGVhZF9faW5uZXItLW1vc3QtcG9wdWxhcjpiZWZvcmUsIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19pbWFnZSAubGFiZWwtc3RyaXAtLW9yYW5nZS5jYXJkLWl0ZW1fX2ltYWdlLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRENBRjAxOyB9XG4gIC5sYWJlbC1zdHJpcC5sYWJlbC1zdHJpcC0teWVsbG93LCAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAubGFiZWwtc3RyaXAtLXllbGxvdy5zZXJ2aWNlLXN0ZXAtbGFiZWwsIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGhlYWQgdGggc3Bhbi5sYWJlbC1zdHJpcC0teWVsbG93LnRoZWFkX19pbm5lci50aGVhZF9faW5uZXItLW1vc3QtcG9wdWxhcjpiZWZvcmUsIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19pbWFnZSAubGFiZWwtc3RyaXAtLXllbGxvdy5jYXJkLWl0ZW1fX2ltYWdlLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFNzFDO1xuICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gIC5sYWJlbC1zdHJpcC5sYWJlbC1zdHJpcC0tZGFyay1ibHVlLCAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAubGFiZWwtc3RyaXAtLWRhcmstYmx1ZS5zZXJ2aWNlLXN0ZXAtbGFiZWwsIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGhlYWQgdGggc3Bhbi5sYWJlbC1zdHJpcC0tZGFyay1ibHVlLnRoZWFkX19pbm5lci50aGVhZF9faW5uZXItLW1vc3QtcG9wdWxhcjpiZWZvcmUsIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19pbWFnZSAubGFiZWwtc3RyaXAtLWRhcmstYmx1ZS5jYXJkLWl0ZW1fX2ltYWdlLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzNjg5OyB9XG4gIC5sYWJlbC1zdHJpcC5sYWJlbC1zdHJpcC0tbGlnaHQtYmx1ZSwgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLmxhYmVsLXN0cmlwLS1saWdodC1ibHVlLnNlcnZpY2Utc3RlcC1sYWJlbCwgdGFibGUuYm9va3B1Ymxpc2hlci1wYWNrYWdlcyB0aGVhZCB0aCBzcGFuLmxhYmVsLXN0cmlwLS1saWdodC1ibHVlLnRoZWFkX19pbm5lci50aGVhZF9faW5uZXItLW1vc3QtcG9wdWxhcjpiZWZvcmUsIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19pbWFnZSAubGFiZWwtc3RyaXAtLWxpZ2h0LWJsdWUuY2FyZC1pdGVtX19pbWFnZS1iYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc5QjNFMjsgfVxuICAubGFiZWwtc3RyaXAubGFiZWwtc3RyaXAtLXJlZCwgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLmxhYmVsLXN0cmlwLS1yZWQuc2VydmljZS1zdGVwLWxhYmVsLCB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRoZWFkIHRoIHNwYW4ubGFiZWwtc3RyaXAtLXJlZC50aGVhZF9faW5uZXIudGhlYWRfX2lubmVyLS1tb3N0LXBvcHVsYXI6YmVmb3JlLCAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9faW1hZ2UgLmxhYmVsLXN0cmlwLS1yZWQuY2FyZC1pdGVtX19pbWFnZS1iYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMkIxNzsgfVxuICAubGFiZWwtc3RyaXAubGFiZWwtc3RyaXAtLWdyZXksIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIC5sYWJlbC1zdHJpcC0tZ3JleS5zZXJ2aWNlLXN0ZXAtbGFiZWwsIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGhlYWQgdGggc3Bhbi5sYWJlbC1zdHJpcC0tZ3JleS50aGVhZF9faW5uZXIudGhlYWRfX2lubmVyLS1tb3N0LXBvcHVsYXI6YmVmb3JlLCAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9faW1hZ2UgLmxhYmVsLXN0cmlwLS1ncmV5LmNhcmQtaXRlbV9faW1hZ2UtYmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDY3NzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnJlbW92ZS1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5yZW1vdmUtbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4ucmVtb3ZlLXBhZGRpbmctdG9wLCAuYmctZ3JleS5yZW1vdmUtcGFkZGluZy10b3Age1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5yZW1vdmUtcGFkZGluZy1ib3R0b20sIC5iZy1ncmV5LnJlbW92ZS1wYWRkaW5nLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnJlbW92ZS1wYWRkaW5nLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAucmVtb3ZlLXBhZGRpbmctbGVmdC5iZy1ncmV5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4ucmVtb3ZlLXBhZGRpbmctcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnJlbW92ZS1wYWRkaW5nLXJpZ2h0LmJnLWdyZXkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtLWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50OyB9XG5cbnVsLnN0YXRpc3RpY3MtbGlzdCwgdWwudGljay1saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgdWwuc3RhdGlzdGljcy1saXN0IGxpLCB1bC50aWNrLWxpc3QgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtOyB9XG4gICAgdWwuc3RhdGlzdGljcy1saXN0IGxpIGgzLCB1bC5zdGF0aXN0aWNzLWxpc3QgbGkgaDQsIHVsLnN0YXRpc3RpY3MtbGlzdCBsaSBoNSwgdWwudGljay1saXN0IGxpIGgzLCB1bC50aWNrLWxpc3QgbGkgaDQsIHVsLnRpY2stbGlzdCBsaSBoNSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIHVsLnN0YXRpc3RpY3MtbGlzdCBsaTpsYXN0LWNoaWxkLCB1bC50aWNrLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgdWwuc3RhdGlzdGljcy1saXN0IGxpOmJlZm9yZSwgdWwudGljay1saXN0IGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMS41NjI1cmVtO1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQycHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7IH1cblxuLnRpY2stbGlzdC5jZW50ZXJlZC1saXN0LXdpdGhvdXQtYnVsbGV0cyBsaSB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICAudGljay1saXN0LmNlbnRlcmVkLWxpc3Qtd2l0aG91dC1idWxsZXRzIGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4udGljay1saXN0LS1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC50aWNrLWxpc3QtLXNtYWxsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgICAudGljay1saXN0LS1zbWFsbCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzgwcHggLTMzcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDAuMzc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAudGV4dC1hcmVhLXJlbW92ZS1saXN0LW1hcmdpbiAuc3RhdGlzdGljcy1saXN0LCAudGV4dC1hcmVhLXJlbW92ZS1saXN0LW1hcmdpbiAudGljay1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnRleHQtYXJlYS1yZW1vdmUtbGlzdC1tYXJnaW4gLnRleHQtYXJlYSB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4udGljay1saXN0LXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRpY2stbGlzdC13cmFwcGVyIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC50aWNrLWxpc3Qtd3JhcHBlciAuc3RhdGlzdGljcy1saXN0LCAudGljay1saXN0LXdyYXBwZXIgLnRpY2stbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGljay1saXN0LXdyYXBwZXIgLnN0YXRpc3RpY3MtbGlzdCwgLnRpY2stbGlzdC13cmFwcGVyIC50aWNrLWxpc3Qge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aWNrLWxpc3Qtd3JhcHBlciAuc3RhdGlzdGljcy1saXN0OmZpcnN0LWNoaWxkLCAudGljay1saXN0LXdyYXBwZXIgLnRpY2stbGlzdDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpY2stbGlzdC13cmFwcGVyIC5zdGF0aXN0aWNzLWxpc3Q6Zmlyc3QtY2hpbGQsIC50aWNrLWxpc3Qtd3JhcHBlciAudGljay1saXN0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gICAgLnRpY2stbGlzdC13cmFwcGVyIC5zdGF0aXN0aWNzLWxpc3QgbGk6bGFzdC1jaGlsZCwgLnRpY2stbGlzdC13cmFwcGVyIC50aWNrLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuLmgyLCAuaDMsIC5oNCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5oMiB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaDIge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbi5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oMyB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuXG4uaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50ZXh0LWFyZWEtdmVydGljYWxseS1jZW50ZXJlZCAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCB7XG4gIGE6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJlaGVhZGVyIC5wcmVhZGVyX19zZWFyY2gtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNEREREREQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDA7IH1cbiAgICAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAuZGVza3RvcC1tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VydmljZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRhYmJhci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlcm8tYmFubmVyIHtcbiAgICBtaW4taGVpZ2h0OiAxNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERERERDsgfVxuICAuc2VydmljZS1iYW5uZXItY29udGFpbmVyIHtcbiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERERERDsgfVxuICAuc2VydmljZS1iYW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IDE1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuc2VydmljZS1iYW5uZXIgLnNlcnZpY2UtYmFubmVyX19jb250ZW50LXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjNTU1NTU1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIC5zb2NpYWwtaWNvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgLmZvb3Rlci1hZGRyZXNzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLWFkZHJlc3MgLmZvb3Rlci1hZGRyZXNzX19kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICAgICAgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciAuZm9vdGVyLWFkZHJlc3MgLmZvb3Rlci1jb250YWN0LWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGhyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1kZXRhaWxzX19iYWRnZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZlYXR1cmVkLWFydGljbGUtY29udGFpbmVyIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICBtaW4taGVpZ2h0OiAxNXJlbSAhaW1wb3J0YW50OyB9XG4gIC53aWRnZXRfZnRkX2Jsb2dfd2lkZ2V0X2FyY2hpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndpZGdldF90ZXh0IC5zaWRlYmFyLWNvbnRhY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFydGljbGVfX2NvbnRlbnQtc29jaWFsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UgLnJlbGF0ZWQtc2VydmljZV9fYmctY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaW1hZ2Utc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMS40MDYyNXJlbTsgfVxuICAuaW1hZ2Utc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgd2lkdGg6IDAuNzVyZW07IH1cbiAgICAuaW1hZ2Utc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc5QjNFMjsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgcGFkZGluZzogMS44NzVyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDIuODEyNXJlbSAwOyB9XG4gIGJsb2NrcXVvdGUgcCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjNTQ2Nzc2O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW0gIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICBibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM1NDY3NzY7XG4gICAgd2lkdGg6IDUuNjI1cmVtO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwOyB9XG5cbi5ub3RpY2UtbWVzc2FnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNSk7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLm5vdGljZS1tZXNzYWdlIHAge1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgLm5vdGljZS1tZXNzYWdlIHAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbnRhYmxlLCB0YWJsZS50YWJsZXByZXNzIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICB0YWJsZSB0aGVhZCwgdGFibGUudGFibGVwcmVzcyB0aGVhZCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgdGFibGUgdGhlYWQgdGgsIHRhYmxlLnRhYmxlcHJlc3MgdGhlYWQgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICB0YWJsZSB0aGVhZCB0aCwgdGFibGUudGFibGVwcmVzcyB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgdGFibGUgLmxhYmVsLXN0cmlwLCB0YWJsZSAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZS1zdGVwLWxhYmVsLCAuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCB0YWJsZSAuc2VydmljZS1zdGVwLWxhYmVsLCB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRoZWFkIHRoIHNwYW4udGhlYWRfX2lubmVyLnRoZWFkX19pbm5lci0tbW9zdC1wb3B1bGFyOmJlZm9yZSwgdGFibGUgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2ltYWdlIC5jYXJkLWl0ZW1fX2ltYWdlLWJhZGdlLCAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9faW1hZ2UgdGFibGUgLmNhcmQtaXRlbV9faW1hZ2UtYmFkZ2UsIHRhYmxlLnRhYmxlcHJlc3MgLmxhYmVsLXN0cmlwLCB0YWJsZS50YWJsZXByZXNzIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIC5zZXJ2aWNlLXN0ZXAtbGFiZWwsIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIgLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIHRhYmxlLnRhYmxlcHJlc3MgLnNlcnZpY2Utc3RlcC1sYWJlbCwgdGFibGUudGFibGVwcmVzcyB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRoZWFkIHRoIHNwYW4udGhlYWRfX2lubmVyLnRoZWFkX19pbm5lci0tbW9zdC1wb3B1bGFyOmJlZm9yZSwgdGFibGUuYm9va3B1Ymxpc2hlci1wYWNrYWdlcyB0aGVhZCB0aCB0YWJsZS50YWJsZXByZXNzIHNwYW4udGhlYWRfX2lubmVyLnRoZWFkX19pbm5lci0tbW9zdC1wb3B1bGFyOmJlZm9yZSwgdGFibGUudGFibGVwcmVzcyAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9faW1hZ2UgLmNhcmQtaXRlbV9faW1hZ2UtYmFkZ2UsIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19pbWFnZSB0YWJsZS50YWJsZXByZXNzIC5jYXJkLWl0ZW1fX2ltYWdlLWJhZGdlIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgdGFibGUgdGJvZHksIHRhYmxlLnRhYmxlcHJlc3MgdGJvZHkge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIHRhYmxlIHRib2R5IHRkLCB0YWJsZS50YWJsZXByZXNzIHRib2R5IHRkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nLXRvcDogMS40MDYyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjQwNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsIHRhYmxlLnRhYmxlcHJlc3MgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIHRhYmxlIHRib2R5IHRkIHNwYW4ubm8sIHRhYmxlLnRhYmxlcHJlc3MgdGJvZHkgdGQgc3Bhbi5ubyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNXB4IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuICAgICAgdGFibGUgdGJvZHkgdGQgc3Bhbi55ZXMsIHRhYmxlLnRhYmxlcHJlc3MgdGJvZHkgdGQgc3Bhbi55ZXMge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuICB0YWJsZSAuc2VydmljZS1pY29uLXRpdGxlLXdyYXAsIHRhYmxlLnRhYmxlcHJlc3MgLnNlcnZpY2UtaWNvbi10aXRsZS13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICB0YWJsZSAuc2VydmljZS1pY29uLXRpdGxlLXdyYXAgLnNlcnZpY2UtaWNvbl9fdGV4dCwgdGFibGUudGFibGVwcmVzcyAuc2VydmljZS1pY29uLXRpdGxlLXdyYXAgLnNlcnZpY2UtaWNvbl9fdGV4dCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5kYXRhVGFibGVzX3Njcm9sbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtOyB9XG4gIC5kYXRhVGFibGVzX3Njcm9sbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjYyNXJlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMi4xODc1cmVtO1xuICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzUzcHggLTMxcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXRhVGFibGVzX3Njcm9sbDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG50YWJsZS5ib29rY3ljbGUtZm9ybSB0aGVhZCB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDYuODc1cmVtICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgdGFibGUuYm9va2N5Y2xlLWZvcm0gdGhlYWQgdGguY29sdW1uLTEsIHRhYmxlLmJvb2tjeWNsZS1mb3JtIHRoZWFkIHRoLmNvbHVtbi0yLCB0YWJsZS5ib29rY3ljbGUtZm9ybSB0aGVhZCB0aC5jb2x1bW4tMyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZS5ib29rY3ljbGUtZm9ybSB0aGVhZCB0aC5jb2x1bW4tMiB7XG4gICAgd2lkdGg6IDIzLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxudGFibGUuYm9va2N5Y2xlLWZvcm0gdGJvZHkge1xuICBib3JkZXI6IG5vbmU7IH1cbiAgdGFibGUuYm9va2N5Y2xlLWZvcm0gdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIHRhYmxlLmJvb2tjeWNsZS1mb3JtIHRib2R5IHRkLmNvbHVtbi0xLCB0YWJsZS5ib29rY3ljbGUtZm9ybSB0Ym9keSB0ZC5jb2x1bW4tMiwgdGFibGUuYm9va2N5Y2xlLWZvcm0gdGJvZHkgdGQuY29sdW1uLTMge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZGF0YVRhYmxlc19zY3JvbGxCb2R5IC50aGVhZF9faW5uZXItLW1vc3QtcG9wdWxhcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxudGFibGUuYm9va3B1Ymxpc2hlci1wYWNrYWdlcyB0aGVhZCB0aCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAxLjEyNXJlbSAwIDAgMDtcbiAgd2lkdGg6IDIwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGhlYWQgdGgge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGhlYWQgdGgge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRoZWFkIHRoIHNwYW4udGhlYWRfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41NjI1cmVtOyB9XG4gICAgdGFibGUuYm9va3B1Ymxpc2hlci1wYWNrYWdlcyB0aGVhZCB0aCBzcGFuLnRoZWFkX19pbm5lci50aGVhZF9faW5uZXItLWJyb256ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjA4MTREO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRoZWFkIHRoIHNwYW4udGhlYWRfX2lubmVyLnRoZWFkX19pbm5lci0tc2lsdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCQkJCQkI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGhlYWQgdGggc3Bhbi50aGVhZF9faW5uZXIudGhlYWRfX2lubmVyLS1nb2xkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEOUNBMjQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGhlYWQgdGggc3Bhbi50aGVhZF9faW5uZXIudGhlYWRfX2lubmVyLS1tb3N0LXBvcHVsYXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdNb3N0IHBvcHVsYXInO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQjEzMDsgfVxuXG50YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRib2R5IHtcbiAgYm9yZGVyOiBub25lOyB9XG4gIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGJvZHkgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREREREO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIG1pbi13aWR0aDogMTIuNXJlbTsgfVxuICAgIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGJvZHkgdGQ6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7IH1cbiAgICB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRib2R5IHRkLmNvbHVtbi0xIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgdGFibGUuYm9va3B1Ymxpc2hlci1wYWNrYWdlcyB0Ym9keSB0ZCAudGFibGUtdmFsdWUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgdGFibGUuYm9va3B1Ymxpc2hlci1wYWNrYWdlcyB0Ym9keSB0ZCAuYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQ0FGMDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGJvZHkgdGQgLmJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICB0YWJsZS5ib29rcHVibGlzaGVyLXBhY2thZ2VzIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgdGFibGUuYm9va3B1Ymxpc2hlci1wYWNrYWdlcyB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDEuODc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbiNyZWFjdC1yb290IC5ub3RpY2UtbWVzc2FnZSB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi52aXNpb25zLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52aXNpb25zLWJsb2NrIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ2Nzc2O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC52aXNpb25zLWJsb2NrIC52aXNpb24taXRlbTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTYuMjVyZW07XG4gICAgICBib3R0b206IDMuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiA0OC45Mzc1cmVtO1xuICAgICAgd2lkdGg6IDE0My4xMjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAzMiwgMzIsIDAuMTUpOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW06YmVmb3JlIHtcbiAgICAgICAgICBib3R0b206IDkuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZpc2lvbnMtYmxvY2sgLnZpc2lvbi1pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWluLWhlaWdodDogMjguNzVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgMzMlOyB9IH1cbiAgICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW0gLnZpc2lvbi1pdGVtX19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW0gLnZpc2lvbi1pdGVtX19pbm5lciB7XG4gICAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLnZpc2lvbnMtYmxvY2sgLnZpc2lvbi1pdGVtIC52aXNpb24taXRlbV9faW5uZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgICAgIC52aXNpb25zLWJsb2NrIC52aXNpb24taXRlbSAudmlzaW9uLWl0ZW1fX2lubmVyIC52aXNpb24taXRlbV9faW5uZXItdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW0gLnZpc2lvbi1pdGVtX19pbm5lciAudmlzaW9uLWl0ZW1fX2lubmVyLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIC52aXNpb25zLWJsb2NrIC52aXNpb24taXRlbSAudmlzaW9uLWl0ZW1fX2lubmVyIC52aXNpb24taXRlbV9faW5uZXItdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICAgICAgLnZpc2lvbnMtYmxvY2sgLnZpc2lvbi1pdGVtIC52aXNpb24taXRlbV9faW5uZXIgLnZpc2lvbi1pdGVtX19pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyLjgxMjVyZW07IH1cbiAgICAgIC52aXNpb25zLWJsb2NrIC52aXNpb24taXRlbSAudmlzaW9uLWl0ZW1fX2lubmVyIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIC52aXNpb25zLWJsb2NrIC52aXNpb24taXRlbSAudmlzaW9uLWl0ZW1fX2lubmVyIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgICAgICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW0gLnZpc2lvbi1pdGVtX19pbm5lciBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW0udmlzaW9uLWl0ZW0tLWdyZWVuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cbiAgICAudmlzaW9ucy1ibG9jayAudmlzaW9uLWl0ZW0udmlzaW9uLWl0ZW0tLXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MyQjE3OyB9XG4gICAgLnZpc2lvbnMtYmxvY2sgLnZpc2lvbi1pdGVtLnZpc2lvbi1pdGVtLS1vcmFuZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTsgfVxuICAgIC52aXNpb25zLWJsb2NrIC52aXNpb24taXRlbS52aXNpb24taXRlbS0tbGlnaHQtYmx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzlCM0UyOyB9XG4gICAgLnZpc2lvbnMtYmxvY2sgLnZpc2lvbi1pdGVtLnZpc2lvbi1pdGVtLS1icm93biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0Y1OTRCOyB9XG5cbi5zaXRlLWN0YS1saW5rcyAuY3RhLWxpbmtfX2l0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNpdGUtY3RhLWxpbmtzIC5jdGEtbGlua19faXRlbSAuY3RhLWxpbmtfX2l0ZW0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuc2l0ZS1jdGEtbGlua3MgLmN0YS1saW5rX19pdGVtIC5jdGEtbGlua19faXRlbS1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICB3aWR0aDogMS40Mzc1cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0NHB4IC00M3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgLnNpdGUtY3RhLWxpbmtzIC5jdGEtbGlua19faXRlbS5jdGEtbGlua19faXRlbS0tcXVvdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cbiAgLnNpdGUtY3RhLWxpbmtzIC5jdGEtbGlua19faXRlbS5jdGEtbGlua19faXRlbS0tY29udGFjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0Njc3NjsgfVxuICAgIC5zaXRlLWN0YS1saW5rcyAuY3RhLWxpbmtfX2l0ZW0uY3RhLWxpbmtfX2l0ZW0tLWNvbnRhY3QgLmN0YS1saW5rX19pdGVtLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgIHdpZHRoOiAxLjQzNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5NHB4IC00M3B4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgLnNpdGUtY3RhLWxpbmtzIC5jdGEtbGlua19faXRlbS5jdGEtbGlua19faXRlbS0tYnJvY2h1cmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3RjU5NEI7IH1cbiAgICAuc2l0ZS1jdGEtbGlua3MgLmN0YS1saW5rX19pdGVtLmN0YS1saW5rX19pdGVtLS1icm9jaHVyZSAuY3RhLWxpbmtfX2l0ZW0taWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MTlweCAtNDNweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9XG5cbi5zaXRlLWN0YS1saW5rcy5zaXRlLWN0YS1saW5rcy0tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTUuNjI1cmVtO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDVyZW07XG4gIHotaW5kZXg6IDExOyB9XG4gIC5zaXRlLWN0YS1saW5rcy5zaXRlLWN0YS1saW5rcy0tZml4ZWQgLmN0YS1saW5rX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC43NXJlbSAwLjkzNzVyZW0gMC4xMjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gICAgLnNpdGUtY3RhLWxpbmtzLnNpdGUtY3RhLWxpbmtzLS1maXhlZCAuY3RhLWxpbmtfX2l0ZW06aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgLnNpdGUtY3RhLWxpbmtzLnNpdGUtY3RhLWxpbmtzLS1maXhlZCAuY3RhLWxpbmtfX2l0ZW0uY3RhLWxpbmtfX2l0ZW0tLXF1b3RlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvb3Rlci1jb250YWluZXIgLnNpdGUtY3RhLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItY29udGFpbmVyIC5zaXRlLWN0YS1saW5rcyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAuZm9vdGVyLWNvbnRhaW5lciAuc2l0ZS1jdGEtbGlua3MgLmN0YS1saW5rX19pdGVtIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIHBhZGRpbmc6IDAuODEyNXJlbSAwOyB9XG4gICAgLmZvb3Rlci1jb250YWluZXIgLnNpdGUtY3RhLWxpbmtzIC5jdGEtbGlua19faXRlbS5jdGEtbGlua19faXRlbS0tcXVvdGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5sYXp5bG9hZGVkIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtczsgfVxuXG4uaXMtaWUgLnByb2Nlc3MtZGlhZ3JhbS1jb250YWluZXIgLmNvbnRlbnQtc2VjdGlvbi1yaWdodCBpbWcge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaXMtaWUgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbGluazpob3ZlciAjc2VydmljZS1oZWFkZXJfX2xvZ28gI3NlcnZpY2UtaWNvbi10aXRsZS1sYW5kc2NhcGUgLnNlcnZpY2UtaWNvbiB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmlzLWllIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19pbWFnZS1jb250YWluZXIge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuICAuaXMtaWUgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2ltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgIHdpZHRoOiAxNy41cmVtO1xuICAgIHRyYW5zaXRpb246IHVuc2V0OyB9XG4gIC5pcy1pZSAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9faW1hZ2UtY29udGFpbmVyOmhvdmVyIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uaXMtaWUgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEtaW5uZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmlzLWllIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24td3JhcHBlciB7XG4gIGZpbHRlcjogbm9uZTsgfVxuXG4uaXMtaWUgLnNlcnZpY2UtYmFubmVyLCAuaXMtaWUgLnNlcnZpY2UtYmFubmVyLWNvbnRhaW5lciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmlzLWllLmllLTEwIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24ge1xuICBtaW4taGVpZ2h0OiBhdXRvOyB9XG4gIC5pcy1pZS5pZS0xMCAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uaXMtc2FmYXJpIC5hbmltYXRlLXN0YXJ0LWhpZGRlbiB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuXG5ib2R5ICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2JhciB7XG4gIG1pbi1oZWlnaHQ6IDE1LjYyNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgYm9keSAjbW9vdmVfZ2Rwcl9jb29raWVfaW5mb19iYXIubW9vdmUtZ2Rwci1kYXJrLXNjaGVtZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG4gIGJvZHkgI21vb3ZlX2dkcHJfY29va2llX2luZm9fYmFyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgYm9keSAjbW9vdmVfZ2Rwcl9jb29raWVfaW5mb19iYXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGFpbmVyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRlbnQge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBib2R5ICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2JhciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9XG4gICAgICBib2R5ICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2JhciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCAubW9vdmUtZ2Rwci1jb29raWUtbm90aWNlIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgYm9keSAjbW9vdmVfZ2Rwcl9jb29raWVfaW5mb19iYXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGFpbmVyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRlbnQgLm1vb3ZlLWdkcHItYnV0dG9uLWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIGJvZHkgI21vb3ZlX2dkcHJfY29va2llX2luZm9fYmFyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRhaW5lciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250ZW50IC5tb292ZS1nZHByLWJ1dHRvbi1ob2xkZXIgYnV0dG9uLm1nYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgICAgICBib2R5ICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2JhciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCAubW9vdmUtZ2Rwci1idXR0b24taG9sZGVyIGJ1dHRvbi5tZ2J1dHRvbi5tb292ZS1nZHByLWluZm9iYXItcmVqZWN0LWJ0biB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ2Nzc2O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgICAgIGJvZHkgI21vb3ZlX2dkcHJfY29va2llX2luZm9fYmFyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRhaW5lciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250ZW50IC5tb292ZS1nZHByLWJ1dHRvbi1ob2xkZXIgYnV0dG9uLm1nYnV0dG9uLm1vb3ZlLWdkcHItaW5mb2Jhci1yZWplY3QtYnRuOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNGQ1ODtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAgICAgYm9keSAjbW9vdmVfZ2Rwcl9jb29raWVfaW5mb19iYXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGFpbmVyIC5tb292ZS1nZHByLWluZm8tYmFyLWNvbnRlbnQgLm1vb3ZlLWdkcHItYnV0dG9uLWhvbGRlciBidXR0b24ubWdidXR0b24ubW9vdmUtZ2Rwci1pbmZvYmFyLWFsbG93LWFsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAgICAgICBib2R5ICNtb292ZV9nZHByX2Nvb2tpZV9pbmZvX2JhciAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCAubW9vdmUtZ2Rwci1idXR0b24taG9sZGVyIGJ1dHRvbi5tZ2J1dHRvbi5tb292ZS1nZHByLWluZm9iYXItYWxsb3ctYWxsOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg5OTEwMDtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbi5ob21lLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaG9tZS1zbGlkZXIgLnNsaWRlci1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuODc1cmVtO1xuICAgIGJvdHRvbTogMS4yNXJlbTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlci1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgLmhvbWUtc2xpZGVyIC5zbGlkZXItbGlua3MgLnNsaWRlci1saW5rLWl0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMCAwIDYuMjVyZW07XG4gICAgICB3aWR0aDogNi4yNXJlbTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlci1saW5rcyAuc2xpZGVyLWxpbmstaXRlbSAuc2xpZGVyLWxpbmtfX2ljb24tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNC4xMjVyZW07XG4gICAgICAgIGhlaWdodDogNC4xMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSg2MywgNjMsIDYzLCAwLjUpOyB9XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlci1saW5rcyAuc2xpZGVyLWxpbmstaXRlbTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC44OyB9XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlci1saW5rcyAuc2xpZGVyLWxpbmstaXRlbSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmhvbWUtc2xpZGVyIC5zd2lwZXItd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAyMi41cmVtO1xuICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk1OTU5NTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbXMtMy1jb2wtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtcy0zLWNvbC1jb250YWluZXIgLnNsaWRlLWl0ZW1zLTMtY29sIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbXMtMy1jb2wtY29udGFpbmVyIC5zbGlkZS1pdGVtcy0zLWNvbCAuc2xpZGUtaXRlbS0zLWNvbCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuICAgICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbXMtMy1jb2wtY29udGFpbmVyIC5zbGlkZS1pdGVtcy0zLWNvbCAuc2xpZGUtaXRlbS0zLWNvbCAuc2xpZGUtaXRlbV9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1zLTMtY29sLWNvbnRhaW5lciAuc2xpZGUtaXRlbXMtMy1jb2wgLnNsaWRlLWl0ZW0tMy1jb2wgLnNsaWRlLWl0ZW1fX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMuNzVyZW0gMS4yNXJlbTsgfSB9XG4gICAgICAgICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1zLTMtY29sLWNvbnRhaW5lciAuc2xpZGUtaXRlbXMtMy1jb2wgLnNsaWRlLWl0ZW0tMy1jb2wgLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtdGl0bGUtd3JhcHBlcixcbiAgICAgICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbXMtMy1jb2wtY29udGFpbmVyIC5zbGlkZS1pdGVtcy0zLWNvbCAuc2xpZGUtaXRlbS0zLWNvbCAuc2xpZGUtaXRlbV9fY29udGVudCAuc2xpZGVyLWl0ZW1fX2NvbnRlbnQtdGV4dCB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtcy0zLWNvbC1jb250YWluZXIgLnNsaWRlLWl0ZW1zLTMtY29sIC5zbGlkZS1pdGVtLTMtY29sIC5zbGlkZS1pdGVtX19jb250ZW50IC5zbGlkZS1pdGVtX19jb250ZW50LXNlcnZpY2Uge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbXMtMy1jb2wtY29udGFpbmVyIC5zbGlkZS1pdGVtcy0zLWNvbCAuc2xpZGUtaXRlbS0zLWNvbCAuc2xpZGUtaXRlbV9fY29udGVudCAuc2xpZGUtaXRlbV9fY29udGVudC1zZXJ2aWNlIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgICAgICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbXMtMy1jb2wtY29udGFpbmVyIC5zbGlkZS1pdGVtcy0zLWNvbCAuc2xpZGUtaXRlbS0zLWNvbCAuc2xpZGUtaXRlbV9fY29udGVudCAuc2xpZGUtaXRlbV9fY29udGVudC1zZXJ2aWNlIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUuNjI1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDsgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgICAgICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbXMtMy1jb2wtY29udGFpbmVyIC5zbGlkZS1pdGVtcy0zLWNvbCAuc2xpZGUtaXRlbS0zLWNvbCAuc2xpZGUtaXRlbV9fY29udGVudCAuc2xpZGUtaXRlbV9fY29udGVudC1zZXJ2aWNlIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3LjgxMjVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH0gfVxuICAgICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbXMtMy1jb2wtY29udGFpbmVyIC5zbGlkZS1pdGVtcy0zLWNvbCAuc2xpZGUtaXRlbS0zLWNvbCAuc2xpZGUtaXRlbS0zLWNvbF9fb3ZlcmxheSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cbiAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0IC4ycztcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50LXNlcnZpY2UgLnNlcnZpY2UtbGFiZWwtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSAuc2VydmljZS1sYWJlbC1jb250YWluZXIgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAuM3M7IH1cbiAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQtdGl0bGUtd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50LXRpdGxlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjVweCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4gLjRzO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGVyLWl0ZW1fX2NvbnRlbnQtdGV4dCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlci1pdGVtX19jb250ZW50LXRleHQgLnNsaWRlci1pdGVtX19jb250ZW50LXRleHRfX2lubmVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1cHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4gLjVzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG4gICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLnN3aXBlci1zbGlkZS1hY3RpdmUgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS5zd2lwZXItc2xpZGUtYWN0aXZlIC5zbGlkZS1pdGVtX19jb250ZW50LXNlcnZpY2UgLnNlcnZpY2UtbGFiZWwtY29udGFpbmVyIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLnN3aXBlci1zbGlkZS1hY3RpdmUgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtdGl0bGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS5zd2lwZXItc2xpZGUtYWN0aXZlIC5zbGlkZXItaXRlbV9fY29udGVudC10ZXh0X19pbm5lciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgLmlzLWllIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIHtcbiAgICAgICAgbWluLWhlaWdodDogMzcuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0JBQkFCQTsgfSB9XG4gICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuNDA2MjVyZW07XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCBwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5zbGlkZS1pdGVtX19jb250ZW50LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDJyZW0gMC43NXJlbSAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbi0tdHJhbnNwYXJlbnQsIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuc2lkZWJhciAuc2VydmljZS1zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXJfX2NvbnRlbnQgLmJ1dHRvbiwgLnNpZGViYXIgLnNlcnZpY2Utc2lkZWJhciAuc2VydmljZS1zaWRlYmFyX19jb250ZW50IC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuYnV0dG9uLCAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnR3by1jb2x1bW4tdGV4dC1hcmVhIC50ZXh0LWFyZWEgLmJ1dHRvbiwgLnR3by1jb2x1bW4tdGV4dC1hcmVhIC50ZXh0LWFyZWEgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5idXR0b24sIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSAuYnV0dG9uLCAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbiwgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19jb250ZW50IC5idXR0b24sIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19jb250ZW50IC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuYnV0dG9uLCAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnZpZGVvLXdpdGgtdGV4dCAuYnV0dG9uLCAudmlkZW8td2l0aC10ZXh0IC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuYnV0dG9uLS10cmFuc3BhcmVudDphZnRlciwgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXIgLnNlcnZpY2Utc2lkZWJhcl9fY29udGVudCAuYnV0dG9uOmFmdGVyLCAuc2lkZWJhciAuc2VydmljZS1zaWRlYmFyIC5zZXJ2aWNlLXNpZGViYXJfX2NvbnRlbnQgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5idXR0b246YWZ0ZXIsIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSAuYnV0dG9uOmFmdGVyLCAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbjphZnRlciwgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhIC5idXR0b246YWZ0ZXIsIC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuYnV0dG9uOmFmdGVyLCAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbjphZnRlciwgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5idXR0b246YWZ0ZXIsIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAudmlkZW8td2l0aC10ZXh0IC5idXR0b246YWZ0ZXIsIC52aWRlby13aXRoLXRleHQgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5idXR0b246YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05N3B4IC0yOXB4OyB9XG4gICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5zbGlkZS1pdGVtX19jb250ZW50LXNlcnZpY2UgaW1nIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMS4yNXJlbSBhdXRvO1xuICAgICAgICAgICAgICB3aWR0aDogNS42MjVyZW07IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuc2xpZGUtaXRlbV9fY29udGVudC1zZXJ2aWNlIGltZyB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEuMjVyZW0gYXV0bztcbiAgICAgICAgICAgICAgd2lkdGg6IDcuODEyNXJlbTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbSAuc2xpZGUtaXRlbV9fY29udGVudCAuc2xpZGUtaXRlbV9fY29udGVudC1zZXJ2aWNlIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0Ljc1cmVtOyB9IH1cbiAgICAgICAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtIC5zbGlkZS1pdGVtX19jb250ZW50IC5zbGlkZS1pdGVtX19jb250ZW50LXNlcnZpY2Ugc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSAuYm9vayB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0gLnNsaWRlLWl0ZW1fX2NvbnRlbnQgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSAuc2VydmljZS1sYWJlbC1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7IH0gfVxuICAuaG9tZS1zbGlkZXIgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICByaWdodDogMi44MTI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm90dG9tOiAxLjU2MjVyZW07XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUtc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB3aWR0aDogMC41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5ob21lLXNsaWRlciAuc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICBtYXJnaW46IDAgMC4yNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5ob21lLXNsaWRlciAuc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICAgICAgbWFyZ2luOiAwLjI1cmVtIDA7IH0gfVxuXG4uaG9tZS1zZXJ2aWNlcy1zZWN0aW9uLXdyYXBwZXIge1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSkpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaG9tZS1zZXJ2aWNlcy1zZWN0aW9uLWNvbnRhaW5lciB7XG4gIGNsaXAtcGF0aDogZWxsaXBzZSgxMDAlIDEwMCUgYXQgNTAlIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhvbWUtc2VydmljZXMtc2VjdGlvbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH0gfVxuXG4uaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI0LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwLjYyNXJlbTsgfSB9XG4gIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzLXNlY3Rpb24taGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzLXNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxM3B4IHNvbGlkICMwYTBhMGE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAzLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH0gfVxuICAgIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIC5zZXJ2aWNlLXN0ZXAtbGFiZWwge1xuICAgICAgdG9wOiAxLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIC5zZXJ2aWNlLXN0ZXAtbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgICAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2Utc3RlcC1sYWJlbCB7XG4gICAgICAgICAgcmlnaHQ6IC0zLjc1cmVtOyB9IH1cbiAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZV9faXRlbS1ncm91cF9faWNvbi1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2ljb24tY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2ljb24tY29udGFpbmVyIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwgLmJvb2sge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwgLmJvb2sge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXA6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzOyB9IH1cbiAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cDpmb2N1cyAuc2VydmljZV9faXRlbS1ncm91cF9faWNvbi1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiA3LjY4NzVyZW07XG4gICAgICB3aWR0aDogNy42ODc1cmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0YzRjNGMztcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuOTM3NXJlbSk7IH1cbiAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0gLnNlcnZpY2VfX2l0ZW0tZ3JvdXAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2xhYmVsIC5ib29rIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZS1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtIC5zZXJ2aWNlX19pdGVtLWdyb3VwIC5zZXJ2aWNlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlci0tcmVtb3ZlLWJvcmRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlci5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXItLXJlbW92ZS1ib3JkZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyLS1yZW1vdmUtYm9yZGVyIC5zZXJ2aWNlc19faXRlbSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgIC5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyLS1yZW1vdmUtYm9yZGVyIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLmxhdGVzdC1wb3N0cy1mZWVkLnBvcnRyYWl0LWNhcmRzIHtcbiAgcGFkZGluZzogMDsgfVxuICAubGF0ZXN0LXBvc3RzLWZlZWQucG9ydHJhaXQtY2FyZHMgLmxhdGVzdC1wb3N0cy1mZWVkX190aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMi4zcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMy43NXJlbTsgfSB9XG4gIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIgLmxhdGVzdC10d2VldHMtaGVhZGluZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMi4zcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIgLnR3aXR0ZXItc2xpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfVxuICAgIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIgLnR3aXR0ZXItc2xpZGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgIHdpZHRoOiAyLjQzNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0M3B4IC02cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIgLnR3aXR0ZXItc2xpZGVyIC50d2VldC1pdGVtIC50d2VldC1pdGVtLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIgLnR3aXR0ZXItc2xpZGVyIC50d2VldC1pdGVtIC50d2VldC1pdGVtLWlubmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDMuNzVyZW07IH0gfVxuICAgIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIgLnR3aXR0ZXItc2xpZGVyIC50d2VldC1pdGVtIC50d2VldC1tZXNzYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBjb2xvcjogIzU0Njc3NjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxhdGVzdC10d2VldHMtc2xpZGVyLWNvbnRhaW5lciAudHdpdHRlci1zbGlkZXIgLnR3ZWV0LWl0ZW0gLnR3ZWV0LW1lc3NhZ2Uge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICAgIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIgLnR3aXR0ZXItc2xpZGVyIC50d2VldC1pdGVtIC50d2VldC1tZXNzYWdlIGEge1xuICAgICAgICBjb2xvcjogIzFEQTFGMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5sYXRlc3QtdHdlZXRzLXNsaWRlci1jb250YWluZXIgLnR3aXR0ZXItc2xpZGVyIC50d2VldC1pdGVtIC50d2VldC1kZXRhaWxzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubGF0ZXN0LXR3ZWV0cy1zbGlkZXItY29udGFpbmVyIC50d2l0dGVyLXNsaWRlciAudHdlZXQtaXRlbSAudHdlZXQtZGV0YWlscyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLmxhdGVzdC10d2VldHMtc2xpZGVyLWNvbnRhaW5lciAudHdpdHRlci1zbGlkZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwM3B4IDBweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNTAlOyB9XG4gICAgLmxhdGVzdC10d2VldHMtc2xpZGVyLWNvbnRhaW5lciAudHdpdHRlci1zbGlkZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQyM3B4IDBweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDUwJTsgfVxuXG4ucmVzb3VyY2UtY2F0ZWdvcmllcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjM3NXJlbTsgfVxuICAucmVzb3VyY2UtY2F0ZWdvcmllcyBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ2Nzc2O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnJlc291cmNlLWNhdGVnb3JpZXMgc3BhbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yZXNvdXJjZS1jYXRlZ29yaWVzIHNwYW4uYXV0aG9ycyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDlDQTI0OyB9XG5cbi5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVscyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luOiAyLjM0Mzc1cmVtIDA7IH0gfVxuICAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxzIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTUzLCAxNTMsIDE1MywgMC41KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbHMgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVsOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxzIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbCB7XG4gICAgICAgIGZsZXg6IDAgMCA0OCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbHMgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVsIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbF9faW5uZXIge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItdG9wOiAxOHB4IHNvbGlkICM1NDY3NzY7IH1cbiAgICAgIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbHMgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVsIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbF9faW5uZXIgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxzIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbCAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxfX2lubmVyIHVsIGxpIHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgICAgIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbHMgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVsIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbF9faW5uZXIgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxzIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbCAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxfX2lubmVyLmF1dGhvcnMge1xuICAgICAgICBib3JkZXItdG9wOiAxOHB4IHNvbGlkICNEOUNBMjQ7IH1cbiAgICAgIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbHMgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVsIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbF9faW5uZXIgLmNhdGVnb3J5X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjQwNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVscyAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWwgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVsX19pbm5lciAuY2F0ZWdvcnlfX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gICAgICAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxzIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbCAucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxfX2lubmVyIC5jYXRlZ29yeV9fdG9wLXJlc291cmNlLWhlYWRpbmcge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZXZlbnQtZGV0YWlscyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDY3NzY7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5ldmVudC1kZXRhaWxzIC5ldmVudC1kZXRhaWxzX19lbmRlZCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuZXZlbnQtZGV0YWlscyAuZXZlbnQtZGV0YWlsc19fZXZlbnQtZGF0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9XG4gICAgLmV2ZW50LWRldGFpbHMgLmV2ZW50LWRldGFpbHNfX2V2ZW50LWRhdGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgIHdpZHRoOiAxLjMxMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IC0xcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuICAuZXZlbnQtZGV0YWlscyAuZXZlbnQtZGV0YWlsc19fZXZlbnQtdGltZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAuZXZlbnQtZGV0YWlscyAuZXZlbnQtZGV0YWlsc19fZXZlbnQtdGltZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5M3B4IC0xcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuICAuZXZlbnQtZGV0YWlscyAuZXZlbnQtZGV0YWlsc19fZXZlbnQtYWRkcmVzcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDAuNDY4NzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfVxuICAgIC5ldmVudC1kZXRhaWxzIC5ldmVudC1kZXRhaWxzX19ldmVudC1hZGRyZXNzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc1cHggLTFweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9XG5cbi5ldmVudC1ib29raW5nLWluZm9ybWF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5ldmVudC1ib29raW5nLWluZm9ybWF0aW9uIGgyOmZpcnN0LWNoaWxkLCAuZXZlbnQtYm9va2luZy1pbmZvcm1hdGlvbiBoMzpmaXJzdC1jaGlsZCwgLmV2ZW50LWJvb2tpbmctaW5mb3JtYXRpb24gaDQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAuZXZlbnQtYm9va2luZy1pbmZvcm1hdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJnLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICBwYWRkaW5nOiAyLjgxMjVyZW0gMC45Mzc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmctZ3JleSB7XG4gICAgICBtYXJnaW46IDEuODc1cmVtIDA7IH0gfVxuXG4uYmctbGlnaHQtZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmctbGlnaHQtZ3JleSB7XG4gICAgICBtYXJnaW46IDEuODc1cmVtIDA7IH0gfVxuXG4uc2VjdGlvbi1pbnRybyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMi44MTI1cmVtIDA7IH1cbiAgLnNlY3Rpb24taW50cm8gLnNlY3Rpb24taGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWN0aW9uLWludHJvIHAge1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gIC5zZWN0aW9uLWludHJvIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VjdGlvbi1pbnRybyBhIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbnVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbmJvZHkge1xuICBtYXgtd2lkdGg6IDEyMHJlbTtcbiAgbWFyZ2luOiBhdXRvIGF1dG87IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5hbmltYXRlLW1lOm5vdCguc2VydmljZS1iYW5uZXJfX2NvbnRlbnQpIHtcbiAgICBhbmltYXRpb24tbmFtZTogdW5zZXQgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfSB9XG5cbi5oZXJvLWJhbm5lci1jb250YWluZXIsIC5zZXJ2aWNlLWJhbm5lci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5oZXJvLWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgbWluLWhlaWdodDogMTEuMjVyZW07XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDA7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuaXMtaWUgLmhlcm8tYmFubmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlcm8tYmFubmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE0LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm8tYmFubmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwLjMxMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkFCQUJBO1xuICAgICAgYm94LXNoYWRvdzogMCA1cHggMjVweCAwIHJnYmEoMTIxLCAxMjEsIDEyMSwgMC41KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuaGVyby1iYW5uZXIge1xuICAgICAgbWluLWhlaWdodDogMjcuMDYyNXJlbTsgfSB9XG4gIC5oZXJvLWJhbm5lci5oZXJvLWJhbm5lci0tc21hbGxlciB7XG4gICAgbWluLWhlaWdodDogMTEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlcm8tYmFubmVyLmhlcm8tYmFubmVyLS1zbWFsbGVyIHtcbiAgICAgICAgcGFkZGluZzogMi44MTI1cmVtIDA7IH0gfVxuICAuaGVyby1iYW5uZXIgLmhlcm8tY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlcm8tYmFubmVyIC5oZXJvLWNvbnRlbnQgLmhlcm8tY29udGVudF9fdGl0bGUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvLWJhbm5lciAuaGVyby1jb250ZW50IC5oZXJvLWNvbnRlbnRfX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVyby1iYW5uZXIgLmhlcm8tY29udGVudCAuaGVyby1jb250ZW50X190aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0LjVyZW07IH0gfVxuICAuaGVyby1iYW5uZXIgLmhlcm8tY29udGVudF9fcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMi41cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZXJvLWJhbm5lciAuaGVyby1jb250ZW50X19wYXJlbnQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICAgIC5oZXJvLWJhbm5lciAuaGVyby1jb250ZW50X19wYXJlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmZmZmZjtcbiAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLmhlcm8tbGFuZGluZy1iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm8tbGFuZGluZy1iYW5uZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtO1xuICAgICAgcGFkZGluZzogNS42MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyLXByb21vX19jb250ZW50IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lci1wcm9tb19fY29udGVudCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMC41ZW0gMmVtIDAuNWVtIDJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50IC5sYW5kaW5nLWJhbm5lci1wcm9tb19fY29udGVudCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50IC5sYW5kaW5nLWJhbm5lcl9fY29udGVudC10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQtdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50IC5sYW5kaW5nLWJhbm5lcl9fY29udGVudC10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0LjVyZW07IH0gfVxuICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAubGFuZGluZy1iYW5uZXItcHJvbW9fX2NvbnRlbnQge1xuICAgICAgY29sb3I6ICM1NTY3NzcgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAubGFuZGluZy1iYW5uZXItcHJvbW9fX2NvbnRlbnQgLmxhbmRpbmctYmFubmVyLXByb21vX19jb250ZW50LXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICM1NTY3NzcgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAubGFuZGluZy1iYW5uZXItcHJvbW9fX2NvbnRlbnQgLmxhbmRpbmctYmFubmVyLXByb21vX19jb250ZW50LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAubGFuZGluZy1iYW5uZXItcHJvbW9fX2NvbnRlbnQgLmxhbmRpbmctYmFubmVyLXByb21vX19jb250ZW50LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtOyB9IH1cbiAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAubGFuZGluZy1iYW5uZXItcHJvbW9fX2NvbnRlbnQgLmxhbmRpbmctYmFubmVyLXByb21vX19jb250ZW50LXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM1NTY3NzcgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDAgMCA5MCU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgZm9ybSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAuZ2Zvcm1fd3JhcHBlciBmb3JtIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3MCU7IH0gfVxuICAgICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuICAgICAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgICAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAucmVjYXB0Y2hhLW1lc3NhZ2Uge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLnJlY2FwdGNoYS1tZXNzYWdlIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50Lmhhcy1mb3JlZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudC5oYXMtZm9yZWdyb3VuZC1pbWFnZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcmVtOyB9IH1cbiAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQuaGFzLWZvcmVncm91bmQtaW1hZ2UgLmZvcmVncm91bmQtaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogOTUlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudC5oYXMtZm9yZWdyb3VuZC1pbWFnZSAuZm9yZWdyb3VuZC1pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgICAgICB3aWR0aDogODAlOyB9IH1cbiAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQuaGFzLWZvcmVncm91bmQtaW1hZ2UgLmZvcmVncm91bmQtaW1nLWNvbnRhaW5lciBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA4MHB4O1xuICAgICAgcmlnaHQ6IDIwJTtcbiAgICAgIGxlZnQ6IDgwJTtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuaGVyby1sYW5kaW5nLWJhbm5lciAubGFuZGluZy1iYW5uZXJfX2NvbnRlbnQuaGFzLWZvcmVncm91bmQtaW1hZ2UgLmZvcmVncm91bmQtaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIHJpZ2h0OiAxMCU7IH0gfVxuICAgIC5oZXJvLWxhbmRpbmctYmFubmVyIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudC5oYXMtZm9yZWdyb3VuZC1pbWFnZSAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlcm8tbGFuZGluZy1iYW5uZXIgLmxhbmRpbmctYmFubmVyX19jb250ZW50Lmhhcy1mb3JlZ3JvdW5kLWltYWdlIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4udHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gIC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnR3by1jb2x1bW4tdGV4dC1hcmVhIC50ZXh0LWFyZWEge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4udHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYV9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb250ZW50LXBhZGRpbmctdG9wIC50ZXh0LWFyZWFfX3RpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMi44MTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5mbGV4LW9yZGVyLXJldmVyc2UtbW9iaWxlIC50d28tY29sdW1uLXRleHQtYXJlYSAuZ3JpZC14IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAuZmxleC1vcmRlci1yZXZlcnNlLW1vYmlsZSAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLmdyaWQteCAudGV4dC1hcmVhIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5mbGV4LW9yZGVyLXJldmVyc2UtbW9iaWxlIC50d28tY29sdW1uLXRleHQtYXJlYSAuZ3JpZC14IC50ZXh0LWFyZWE6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLmNvbnN0cmFpbmVkLXRleHQtYXJlYSB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEuY29uc3RyYWluZWQtdGV4dC1hcmVhLS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAuY29uc3RyYWluZWQtdGV4dC1hcmVhX19pbm5lciB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC5jb25zdHJhaW5lZC10ZXh0LWFyZWFfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMi44MTI1cmVtIDA7IH0gfVxuICAgIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLmNvbnN0cmFpbmVkLXRleHQtYXJlYV9faW5uZXIubm8tcGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLmNvbnN0cmFpbmVkLXRleHQtYXJlYV9faW5uZXIubm8tcGFkZGluZyAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSNidy1wcm9tbyAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMWVtIDJlbSAxZW0gMmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAuY29uc3RyYWluZWQtdGV4dC1hcmVhX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYS5jb25zdHJhaW5lZC10ZXh0LWNlbnRlcmVkIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLm1heHdpZHRoIHtcbiAgICBtYXgtd2lkdGg6IDc0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXRleHQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNnJlbTtcbiAgICBjb2xvcjogIzQ0NDsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC10ZXh0IGgzIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBjb2xvcjogI0I5QzQwMDsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC10ZXh0IHAge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAudXgtdGV4dCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlLCAjZmZmIDIwMHB4KTsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIge1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGQ7XG4gICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgY29sb3I6ICM2NjY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAudXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAudXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2VkZjBkMDsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2LmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXYuZW1wdHkge1xuICAgIGZsZXg6IDE7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAudXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdjpob3Zlci5lbXB0eSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2IHNwYW4ge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgI2NjYztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXJlbSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2OmhvdmVyIHNwYW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXYuYWN0aXZlIHNwYW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkICNCOUM0MDA7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC5tYWluY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC5tYWluY29udGVudCAudGFiY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC5tYWluY29udGVudCAudGFiY29udGVudC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDUwcmVtKSB7XG4gICAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAudXgtdmVydGljYWwtdGFicyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXYuZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXZlcnRpY2FsLXRhYnMgLm1haW5jb250ZW50IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZSwgI2ZmZiAyMDBweCk7IH1cbiAgICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2LmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG4gICAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYSAudXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdiBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXY6aG92ZXIgc3BhbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgICAuY29uc3RyYWluZWQtdGV4dC1hcmVhIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2LmFjdGl2ZSBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgIC5jb25zdHJhaW5lZC10ZXh0LWFyZWEgLnV4LXZlcnRpY2FsLXRhYnMgLm1haW5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4udGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYV9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgcDpsYXN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4udGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3Qge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3QudGV4dC13aXRoLWltYWdlX19pbWFnZS1saXN0LS1wYWRkaW5nLWxlZnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfVxuICAgIC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9faW1hZ2UtbGlzdC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3QtLXBhZGRpbmctcmlnaHQge1xuICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3Qge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX19pbWFnZS1saXN0LnRleHQtd2l0aC1pbWFnZV9faW1hZ2UtbGlzdC0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xJTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTElOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3QudGV4dC13aXRoLWltYWdlX19pbWFnZS1saXN0LS1saXN0IC5pbWFnZS1pdGVtIHtcbiAgICAgIGZsZXg6IDEgMCA0OCU7XG4gICAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDElOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3QudGV4dC13aXRoLWltYWdlX19pbWFnZS1saXN0LS1saXN0IC5pbWFnZS1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1cmVtOyB9IH1cbiAgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX19pbWFnZS1saXN0IC5pbWFnZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDIxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudGV4dC13aXRoLWltYWdlLnRleHQtd2l0aC1pbWFnZS0tdGV4dC1sZWZ0LXdpZGUtaW1hZ2UtcmlnaHQgLnRleHQtd2l0aC1pbWFnZV9faW1hZ2UtbGlzdCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4udGV4dC13aXRoLWltYWdlLS1yZW1vdmUtcmlnaHQtZ3V0dGVyIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3Qge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyLjE4NzVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRleHQtd2l0aC1pbWFnZS0tcmVtb3ZlLXJpZ2h0LWd1dHRlciAudGV4dC13aXRoLWltYWdlX19pbWFnZS1saXN0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjkzNzVyZW0pOyB9IH1cblxuLnBvcnRyYWl0LWNhcmRzIHtcbiAgcGFkZGluZzogMS44NzVyZW0gMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvcnRyYWl0LWNhcmRzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tbGVmdDogLTEuNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucG9ydHJhaXQtY2FyZHMge1xuICAgICAgcGFkZGluZzogMi44MTI1cmVtIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBvcnRyYWl0LWNhcmRzLnBvcnRyYWl0LWNhcmQtLTQtYWNyb3NzIC5jYXJkIHtcbiAgICAgIGZsZXg6IDAgMCAyMiU7IH0gfVxuICAucG9ydHJhaXQtY2FyZHMgLnNlY3Rpb24taW50cm8ge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3J0cmFpdC1jYXJkcyAuc2VjdGlvbi1pbnRybyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5wb3J0cmFpdC1jYXJkcyAuY2FyZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvcnRyYWl0LWNhcmRzIC5jYXJkIHtcbiAgICAgICAgZmxleDogMCAwIDQ3JTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNSU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41JTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wb3J0cmFpdC1jYXJkcyAuY2FyZCB7XG4gICAgICAgIGZsZXg6IDAgMCAzMC4zMyU7IH0gfVxuICAgIC5wb3J0cmFpdC1jYXJkcyAuY2FyZCAuY2FyZF9faW1hZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnBvcnRyYWl0LWNhcmRzIC5jYXJkIC5jYXJkX19pbWFnZSAucmVzb3VyY2UtY2F0ZWdvcmllcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMC41cmVtO1xuICAgICAgICB6LWluZGV4OiA1OyB9XG4gICAgICAucG9ydHJhaXQtY2FyZHMgLmNhcmQgLmNhcmRfX2ltYWdlIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAucG9ydHJhaXQtY2FyZHMgLmNhcmQgYS5jYXJkX19pbWFnZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNEREREREQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wb3J0cmFpdC1jYXJkcyAuY2FyZCBhLmNhcmRfX2ltYWdlOmhvdmVyIGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9IH1cbiAgICAucG9ydHJhaXQtY2FyZHMgLmNhcmQgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wb3J0cmFpdC1jYXJkcyAuY2FyZCAuY2FyZF9fY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbTsgfSB9XG4gICAgICAucG9ydHJhaXQtY2FyZHMgLmNhcmQgLmNhcmRfX2NvbnRlbnQgdWwgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAucG9ydHJhaXQtY2FyZHMgLmNhcmQgLmNhcmRfX2NvbnRlbnQgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgIC5wb3J0cmFpdC1jYXJkcyAuY2FyZCAuY2FyZF9fY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgICAuYmctZ3JleSAucG9ydHJhaXQtY2FyZHMgLmNhcmQgLmNhcmRfX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgLnBvcnRyYWl0LWNhcmRzIC5jYXJkIC5jYXJkX19jb250ZW50IGEge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucG9ydHJhaXQtY2FyZHMgLmNhcmQgLmNhcmRfX2NvbnRlbnQgLmNhcmRfX2NvbnRlbnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAxLjU2MjVyZW0gMDsgfVxuICAgICAgICAucG9ydHJhaXQtY2FyZHMgLmNhcmQgLmNhcmRfX2NvbnRlbnQgLmNhcmRfX2NvbnRlbnQtdGl0bGUgYSB7XG4gICAgICAgICAgY29sb3I6ICM1NTU1NTU7IH1cblxuLmxhbmRzY2FwZS1jYXJkcyB7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYW5kc2NhcGUtY2FyZHMge1xuICAgICAgcGFkZGluZzogMi44MTI1cmVtIDA7IH0gfVxuICAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbS5zZXJ2aWNlLWNhcmQtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0uc2VydmljZS1jYXJkLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH0gfVxuICAgIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSBhLmNhcmQtaXRlbV9faW1hZ2Uge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjREREREREOyB9XG4gICAgICAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gYS5jYXJkLWl0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSBhLmNhcmQtaXRlbV9faW1hZ2U6aG92ZXIgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0gfVxuICAgIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9faW1hZ2UgLmNhcmQtaXRlbV9faW1hZ2UtYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNCMTMwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgICAgdG9wOiAwLjMxMjVyZW07XG4gICAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAgIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19pbWFnZS5jYXJkLWl0ZW1fX2ltYWdlLS1uby1ib3JkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9fY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9fY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9fY29udGVudCAuY2FyZC1pdGVtX19jb250ZW50LXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAgIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19jb250ZW50IC5jYXJkLWl0ZW1fX2NvbnRlbnQtdGl0bGUgYSB7XG4gICAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZWxhdGVkLXNlcnZpY2VzLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyLjgxMjVyZW0gMDsgfSB9XG4gIC5yZWxhdGVkLXNlcnZpY2VzLWNvbnRhaW5lciAucmVsYXRlZC1zZXJ2aWNlc19fc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmVsYXRlZC1zZXJ2aWNlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xJTsgfSB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2Uge1xuICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cbiAgLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZSB7XG4gICAgICBmbGV4OiAwIDAgNDglO1xuICAgICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlIC5yZWxhdGVkLXNlcnZpY2VfX2JnLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjQjlDNDAwOyB9XG4gICAgLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZSAucmVsYXRlZC1zZXJ2aWNlX19iZy1jb250YWluZXIgLnJlbGF0ZWQtc2VydmljZV9fbG9nby13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UgLnJlbGF0ZWQtc2VydmljZV9fYmctY29udGFpbmVyIC5yZWxhdGVkLXNlcnZpY2VfX2xvZ28td3JhcHBlciAucmVsYXRlZC1zZXJ2aWNlX19sb2dvIHtcbiAgICAgICAgd2lkdGg6IDMuNzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlIC5yZWxhdGVkLXNlcnZpY2VfX2JnLWNvbnRhaW5lciAucmVsYXRlZC1zZXJ2aWNlX19sb2dvLXdyYXBwZXIgLnJlbGF0ZWQtc2VydmljZV9fbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogNXJlbTsgfSB9XG4gICAgICAucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlIC5yZWxhdGVkLXNlcnZpY2VfX2JnLWNvbnRhaW5lciAucmVsYXRlZC1zZXJ2aWNlX19sb2dvLXdyYXBwZXIgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW07IH1cbiAgLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZSAucmVsYXRlZC1zZXJ2aWNlX19iZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODtcbiAgICBtaW4taGVpZ2h0OiAxMS4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlIC5yZWxhdGVkLXNlcnZpY2VfX2JnIHtcbiAgICAgICAgbWluLWhlaWdodDogMTcuNXJlbTsgfSB9XG4gICAgLmlzLWllIC5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UgLnJlbGF0ZWQtc2VydmljZV9fYmc6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UgLnJlbGF0ZWQtc2VydmljZV9fYmc6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjg7IH0gfVxuICAucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlIC5yZWxhdGVkLXNlcnZpY2VfX2NvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICAgIC5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UgLnJlbGF0ZWQtc2VydmljZV9fY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UgLnJlbGF0ZWQtc2VydmljZV9fY29udGVudCAucmVsYXRlZC1zZXJ2aWNlX19jb250ZW50LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgICAgLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZSAucmVsYXRlZC1zZXJ2aWNlX19jb250ZW50IC5yZWxhdGVkLXNlcnZpY2VfX2NvbnRlbnQtdGl0bGUgYSB7XG4gICAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG5cbi5zdGF0aXN0aWNzLXBhbmVsLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdGF0aXN0aWNzLXBhbmVsLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyLjgxMjVyZW0gMDsgfSB9XG5cbi5zdGF0aXN0aWNzLXBhbmVsIC5zdGF0aXN0aWNzLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNEREREREQ7XG4gIG1pbi1oZWlnaHQ6IDEyLjVyZW07IH1cbiAgLnN0YXRpc3RpY3MtcGFuZWwgLnN0YXRpc3RpY3MtaXRlbSAuc3RhdGlzdGljcy1pdGVtX19pbm5lciB7XG4gICAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgLnN0YXRpc3RpY3MtcGFuZWwgLnN0YXRpc3RpY3MtaXRlbSAuc3RhdGlzdGljcy1pdGVtX192YWx1ZSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICNCOUM0MDA7IH1cbiAgLnN0YXRpc3RpY3MtcGFuZWwgLnN0YXRpc3RpY3MtaXRlbSAuc3RhdGlzdGljcy1pdGVtX19kZXRhaWxzIHAge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuc3RhdGlzdGljcy1wYW5lbCAuc3RhdGlzdGljcy1pdGVtIC5zdGF0aXN0aWNzLWl0ZW1fX2RldGFpbHMgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnN0YXRpc3RpY3Mtc2xpZGVyIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN0YXRpc3RpY3Mtc2xpZGVyIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9IH1cbiAgLnN0YXRpc3RpY3Mtc2xpZGVyIC5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLnN0YXRpc3RpY3Mtc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdGF0aXN0aWNzLXNsaWRlciAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4udGVzdGltb25pYWwtYmxvY2sge1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZXN0aW1vbmlhbC1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfSB9XG4gIC50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtY2FzZS1zdHVkeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtY2FzZS1zdHVkeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuODEyNXJlbTsgfSB9XG4gIC50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtYmxvY2tfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtOyB9XG4gICAgLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1ibG9ja19faW5uZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMUMnO1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEuMjVyZW07XG4gICAgICBsZWZ0OiAwLjYyNXJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtYmxvY2tfX2lubmVyOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgICAgICBsZWZ0OiAyLjVyZW07IH0gfVxuICAgIC50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtYmxvY2tfX2lubmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDFEXCI7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgIHJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtYmxvY2tfX2lubmVyOmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgICAgdG9wOiAxLjI1cmVtO1xuICAgICAgICAgIHJpZ2h0OiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGVzdGltb25pYWwtYmxvY2sgLnRlc3RpbW9uaWFsLWJsb2NrX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDIuODEyNXJlbSAwOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1ibG9ja19faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAzLjc1cmVtIDA7IH0gfVxuICAgIC50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtYmxvY2tfX2lubmVyIC50ZXN0aW1vbmlhbC1tZXNzYWdlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudGVzdGltb25pYWwtYmxvY2sgLnRlc3RpbW9uaWFsLWJsb2NrX19pbm5lciAudGVzdGltb25pYWwtbWVzc2FnZSBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1ibG9ja19faW5uZXIgLnRlc3RpbW9uaWFsLW1lc3NhZ2UgcDpub3QoLnRlc3RpbW9uaWFsLW1lc3NhZ2VfX2F1dGhvcikge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAudGVzdGltb25pYWwtYmxvY2sgLnRlc3RpbW9uaWFsLWJsb2NrX19pbm5lciAudGVzdGltb25pYWwtbWVzc2FnZSBwOm5vdCgudGVzdGltb25pYWwtbWVzc2FnZV9fYXV0aG9yKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgICAudGVzdGltb25pYWwtYmxvY2sgLnRlc3RpbW9uaWFsLWJsb2NrX19pbm5lciAudGVzdGltb25pYWwtbWVzc2FnZSAudGVzdGltb25pYWwtbWVzc2FnZV9fYXV0aG9yIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1ibG9ja19faW5uZXIgLnRlc3RpbW9uaWFsLW1lc3NhZ2UgLnRlc3RpbW9uaWFsLW1lc3NhZ2VfX2F1dGhvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLnZpZGVvLXdpdGgtdGV4dCB7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC52aWRlby13aXRoLXRleHQge1xuICAgICAgcGFkZGluZzogMi44MTI1cmVtIDA7IH0gfVxuICAudmlkZW8td2l0aC10ZXh0IHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudmlkZW8td2l0aC10ZXh0IC52aWRlby13aXRoLXRleHRfX2NvbHVtbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAudmlkZW8td2l0aC10ZXh0IC52aWRlby13aXRoLXRleHRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZpZGVvLXdpdGgtdGV4dCAudmlkZW8td2l0aC10ZXh0X19jb2x1bW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAudmlkZW8td2l0aC10ZXh0IC52aWRlby13aXRoLXRleHRfX2NvbHVtbiAudmlkZW8td2l0aC10ZXh0X190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5sYW5kc2NhcGUtY2FyZHMgLnNlcnZpY2UtY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDE1cmVtO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGFuZHNjYXBlLWNhcmRzIC5zZXJ2aWNlLWNhcmQtaXRlbSAuY2FyZC1pdGVtX19pbWFnZSB7XG4gICAgICBtaW4taGVpZ2h0OiAxOC43NXJlbTsgfSB9XG4gIC5sYW5kc2NhcGUtY2FyZHMgLnNlcnZpY2UtY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2ltYWdlIGltZyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDI1cmVtOyB9XG5cbi5sYW5kc2NhcGUtY2FyZHMgLnNlcnZpY2UtY2FyZC1pdGVtIC5zZXJ2aWNlLWNhcmRfX3NlcnZpY2UtY2lyY2xlLWljb24ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogNC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubGFuZHNjYXBlLWNhcmRzIC5zZXJ2aWNlLWNhcmQtaXRlbSAuc2VydmljZS1jYXJkX19zZXJ2aWNlLWNpcmNsZS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5wcm9jZXNzLWRpYWdyYW0tY29udGFpbmVyIHtcbiAgcGFkZGluZzogMS44NzVyZW0gMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2Nlc3MtZGlhZ3JhbS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMi44MTI1cmVtIDA7IH0gfVxuXG4ucHJvY2Vzcy1kaWFncmFtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5LjM3NWVtKSB7XG4gICAgLnByb2Nlc3MtZGlhZ3JhbS5wcm9jZXNzLWRpYWdyYW0tLXBvcnRyYWl0LWxheW91dC1wcm9tbyAucHJvY2Vzcy1kaWFncmFtX19pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnByb2Nlc3MtZGlhZ3JhbS5wcm9jZXNzLWRpYWdyYW0tLXBvcnRyYWl0LWxheW91dC1wcm9tbyAucHJvY2Vzcy1kaWFncmFtX19pdGVtOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHJpZ2h0OiAtMTUwJTtcbiAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgIHRvcDogNi41NjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI0I5QzQwMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAucHJvY2Vzcy1kaWFncmFtLnByb2Nlc3MtZGlhZ3JhbS0tcG9ydHJhaXQtbGF5b3V0LXByb21vIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW06bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnByb2Nlc3MtZGlhZ3JhbS5wcm9jZXNzLWRpYWdyYW0tLXBvcnRyYWl0LWxheW91dCAucHJvY2Vzcy1kaWFncmFtX19pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnByb2Nlc3MtZGlhZ3JhbS5wcm9jZXNzLWRpYWdyYW0tLXBvcnRyYWl0LWxheW91dCAucHJvY2Vzcy1kaWFncmFtX19pdGVtOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9yZXBlYXRhYmxlLWhlbGl4LnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDQuNjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAucHJvY2Vzcy1kaWFncmFtLnByb2Nlc3MtZGlhZ3JhbS0tcG9ydHJhaXQtbGF5b3V0IC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW06bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9jZXNzLWRpYWdyYW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvY2Vzcy1kaWFncmFtIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cbiAgLnByb2Nlc3MtZGlhZ3JhbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAucHJvY2Vzcy1kaWFncmFtIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbS1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnByb2Nlc3MtZGlhZ3JhbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wcm9jZXNzLWRpYWdyYW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAxLjU2MjVyZW0gMDsgfVxuICAgIC5wcm9jZXNzLWRpYWdyYW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbSBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnByb2Nlc3MtZGlhZ3JhbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tZGlhZ3JhbS1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDUuOTM3NXJlbTtcbiAgICAgIHdpZHRoOiA1LjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjUpO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnByb2Nlc3MtZGlhZ3JhbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tZGlhZ3JhbS1jb250YWluZXIgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzLjEyNXJlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMy4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wcm9jZXNzLWRpYWdyYW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtLWRpYWdyYW0tY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnByb2Nlc3MtZGlhZ3JhbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tZGlhZ3JhbS1jb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogNy41cmVtO1xuICAgICAgICAgIHdpZHRoOiA3LjVyZW07IH1cbiAgICAgICAgICAucHJvY2Vzcy1kaWFncmFtIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbS1kaWFncmFtLWNvbnRhaW5lciBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0LjM3NXJlbTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQuMzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLnByb2Nlc3MtZGlhZ3JhbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tZGlhZ3JhbS1jb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogMTIuNXJlbTtcbiAgICAgICAgICB3aWR0aDogMTIuNXJlbTsgfVxuICAgICAgICAgIC5wcm9jZXNzLWRpYWdyYW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtLWRpYWdyYW0tY29udGFpbmVyIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcuMTg3NXJlbTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcuMTg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnByb2Nlc3MtZGlhZ3JhbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDkwJTtcbiAgICAgICAgbWFyZ2luOiAwIDIlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgICAucHJvY2Vzcy1kaWFncmFtIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAucHJvY2Vzcy1kaWFncmFtIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbS1kaWFncmFtLWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleDogMCAwIDUuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2Nlc3MtZGlhZ3JhbSAucHJvY2Vzcy1kaWFncmFtX19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDEyLjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2Nlc3MtZGlhZ3JhbS5wcm9jZXNzLWRpYWdyYW0tLWxhbmRzY2FwZS1sYXlvdXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yJTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIlOyB9IH1cbiAgLnByb2Nlc3MtZGlhZ3JhbS5wcm9jZXNzLWRpYWdyYW0tLWxhbmRzY2FwZS1sYXlvdXQgLnByb2Nlc3MtZGlhZ3JhbV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2Nlc3MtZGlhZ3JhbS5wcm9jZXNzLWRpYWdyYW0tLWxhbmRzY2FwZS1sYXlvdXQgLnByb2Nlc3MtZGlhZ3JhbV9faXRlbSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDIlO1xuICAgICAgZmxleDogMCAwIDQ2JTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cbiAgICAgIC5wcm9jZXNzLWRpYWdyYW0ucHJvY2Vzcy1kaWFncmFtLS1sYW5kc2NhcGUtbGF5b3V0IC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNDA2MjVyZW07IH1cbiAgICAgIC5wcm9jZXNzLWRpYWdyYW0ucHJvY2Vzcy1kaWFncmFtLS1sYW5kc2NhcGUtbGF5b3V0IC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbS1kaWFncmFtLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA4LjEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA4LjEyNXJlbTtcbiAgICAgICAgZmxleDogMCAwIDguMTI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtOyB9XG4gICAgICAgIC5wcm9jZXNzLWRpYWdyYW0ucHJvY2Vzcy1kaWFncmFtLS1sYW5kc2NhcGUtbGF5b3V0IC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0gLnByb2Nlc3MtZGlhZ3JhbV9faXRlbS1kaWFncmFtLWNvbnRhaW5lciBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogNXJlbTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA1cmVtOyB9IH1cbiAgLnByb2Nlc3MtZGlhZ3JhbSAuY29udGVudC1zZWN0aW9uLXJpZ2h0IHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucHJvY2Vzcy1kaWFncmFtLnByb2Nlc3MtZGlhZ3JhbS0tbGFuZHNjYXBlLWxheW91dC13aXRoLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcm9jZXNzLWRpYWdyYW0ucHJvY2Vzcy1kaWFncmFtLS1sYW5kc2NhcGUtbGF5b3V0LXdpdGgtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvY2Vzcy1kaWFncmFtLnByb2Nlc3MtZGlhZ3JhbS0tbGFuZHNjYXBlLWxheW91dC13aXRoLWNvbnRlbnQgLnByb2Nlc3MtZGlhZ3JhbV9faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLnByb2R1Y3QtbGlzdC1jb250YWluZXIgLmJnLWdyZXkge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ucHJvZHVjdC1saXN0LWNlbnRlcmVkIC5wcm9kdWN0LWxpc3Qge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAucHJvZHVjdC1saXN0LWNlbnRlcmVkIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnByb2R1Y3QtbGlzdC1jZW50ZXJlZCAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IDExLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHJvZHVjdC1saXN0LWNlbnRlcmVkIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAucHJvZHVjdC1saXN0LWNlbnRlcmVkIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19kZXRhaWxzLCAucHJvZHVjdC1saXN0LWNlbnRlcmVkIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWxpc3QtY2VudGVyZWQgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMgLnByb2R1Y3QtaXRlbV9fZGV0YWlscy10aXRsZSwgLnByb2R1Y3QtbGlzdC1jZW50ZXJlZCAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGVzY3JpcHRpb24gLnByb2R1Y3QtaXRlbV9fZGV0YWlscy10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMS4xMjVyZW0gMDsgfVxuICAucHJvZHVjdC1saXN0LWNlbnRlcmVkIC5wcm9kdWN0LWxpc3QgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDsgfVxuXG4ucHJvZHVjdC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtbGlzdCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTElO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMSU7IH0gfVxuICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGZsZXg6IDAgMCA1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDQ4JTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDElOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDIzJTsgfSB9XG4gICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIGEucHJvZHVjdC1pdGVtX19pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gYS5wcm9kdWN0LWl0ZW1fX2ltYWdlLWNvbnRhaW5lcjpob3ZlciBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19pbWFnZS1jb250YWluZXIuaGFzLXNwZWNpYWwtb2ZmZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2ltYWdlLWNvbnRhaW5lci5oYXMtc3BlY2lhbC1vZmZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdTcGVjaWFsIG9mZmVyISc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICB0b3A6IDAuNXJlbTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQjEzMDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2ltYWdlLWNvbnRhaW5lci5oYXMtc3BlY2lhbC1vZmZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjQwNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cbiAgICAgIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19kZXNjcmlwdGlvbiBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2Rlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGV0YWlscyB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMgLnByb2R1Y3QtaXRlbV9fZGV0YWlscy10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGV0YWlscyAucHJvZHVjdC1pdGVtX19kZXRhaWxzLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS4xMjVyZW0gMDsgfSB9XG4gICAgICAgIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19kZXRhaWxzIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMtdGl0bGUgYSB7XG4gICAgICAgICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGV0YWlscyAucHJvZHVjdC1pdGVtX19kZXRhaWxzLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS42ODc1cmVtIDA7IH0gfVxuICAgICAgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMgLnByb2R1Y3QtaXRlbV9fZGV0YWlscy12YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7XG4gICAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZ2FsbGVyeS1zbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5nYWxsZXJ5LXNsaWRlci1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQwcHggLTI0cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5nYWxsZXJ5LXNsaWRlci1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEuNDM3NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfSB9XG4gIC5nYWxsZXJ5LXNsaWRlci1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUzcHggLTI0cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5nYWxsZXJ5LXNsaWRlci1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEuNDM3NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI3cHggMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4OyB9IH1cbiAgLmdhbGxlcnktc2xpZGVyLWNvbnRhaW5lciAuZ2FsbGVyeS1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZ2FsbGVyeS1zbGlkZXItY29udGFpbmVyIC5nYWxsZXJ5LXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cblxuLnNlcnZpY2UtYmFubmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDIyLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDA7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuaXMtaWUgLnNlcnZpY2UtYmFubmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlcnZpY2UtYmFubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDM3LjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkFCQUJBO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICBjbGlwLXBhdGg6IGVsbGlwc2UoMTAwJSAxMDAlIGF0IDUwJSAwKTsgfSB9XG4gIC5zZXJ2aWNlLWJhbm5lciAuc2VydmljZS1iYW5uZXJfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgICAuc2VydmljZS1iYW5uZXIgLnNlcnZpY2UtYmFubmVyX19jb250ZW50IC5zZXJ2aWNlLWJhbm5lcl9fY29udGVudC10aXRsZSB7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5zZXJ2aWNlLWJhbm5lciAuc2VydmljZS1iYW5uZXJfX2NvbnRlbnQgLnNlcnZpY2UtYmFubmVyX19jb250ZW50LXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDVyZW07IH0gfVxuICAgIC5zZXJ2aWNlLWJhbm5lciAuc2VydmljZS1iYW5uZXJfX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2VydmljZS1iYW5uZXIgLnNlcnZpY2UtYmFubmVyX19jb250ZW50IC5idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgcGFkZGluZzogMC43NXJlbSAycmVtIDAuNzVyZW0gMC44NzVyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5zZXJ2aWNlLWJhbm5lciAuc2VydmljZS1iYW5uZXJfX2NvbnRlbnQgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMWFiMDA7IH1cbiAgICAgIC5zZXJ2aWNlLWJhbm5lciAuc2VydmljZS1iYW5uZXJfX2NvbnRlbnQgLmJ1dHRvbjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05N3B4IC0yOXB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zZXJ2aWNlLWJhbm5lci1jb250YWluZXIge1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDE1cHggIzMzMyk7IH0gfVxuXG4uZnVydGhlci1pbmZvcm1hdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDcuODEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZ1cnRoZXItaW5mb3JtYXRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDguMTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuODEyNXJlbTsgfSB9XG4gIC5mdXJ0aGVyLWluZm9ybWF0aW9uIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19zZXJ2aWNlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19zZXJ2aWNlLWxhYmVsIC5ib29rIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDsgfVxuICAuZnVydGhlci1pbmZvcm1hdGlvbiAuZnVydGhlci1pbmZvcm1hdGlvbl9fc2VydmljZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuODc1cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbWF4LWhlaWdodDogNS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19zZXJ2aWNlIHtcbiAgICAgICAgdG9wOiAzLjc1cmVtOyB9IH1cbiAgLmZ1cnRoZXItaW5mb3JtYXRpb24gLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC43NXJlbSAycmVtIDAuNzVyZW0gMC44NzVyZW07XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uIC5idXR0b246aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG4gIC5mdXJ0aGVyLWluZm9ybWF0aW9uIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZnVydGhlci1pbmZvcm1hdGlvbiAuZnVydGhlci1pbmZvcm1hdGlvbl9fY29sdW1uIHtcbiAgICAgICAgcGFkZGluZzogMCA0LjY4NzVyZW07IH0gfVxuICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4gdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmZ1cnRoZXItaW5mb3JtYXRpb24gLmZ1cnRoZXItaW5mb3JtYXRpb25fX2NvbHVtbiB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLmZ1cnRoZXItaW5mb3JtYXRpb24gLmZ1cnRoZXItaW5mb3JtYXRpb25fX2NvbHVtbiB1bCBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAgICAgICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4gdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmZ1cnRoZXItaW5mb3JtYXRpb24tLWhhcy1zZXJ2aWNlIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4tbGVmdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uLS1oYXMtc2VydmljZSAuZnVydGhlci1pbmZvcm1hdGlvbl9fY29sdW1uLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRjNGM0YzO1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNGM0YzRjM7XG4gICAgICAgIGhlaWdodDogMi4zMTI1cmVtO1xuICAgICAgICB3aWR0aDogMTIuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0zLjc1cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uLS1oYXMtc2VydmljZSAuZnVydGhlci1pbmZvcm1hdGlvbl9fY29sdW1uLWxlZnQ6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxOC43NXJlbTsgfSB9XG4gIC5mdXJ0aGVyLWluZm9ybWF0aW9uLS1oYXMtc2VydmljZSAuZnVydGhlci1pbmZvcm1hdGlvbl9fY29sdW1uLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZ1cnRoZXItaW5mb3JtYXRpb24tLWhhcy1zZXJ2aWNlIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4tcmlnaHQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGM0YzRjM7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNGM0YzRjM7XG4gICAgICAgIGhlaWdodDogMi4zMTI1cmVtO1xuICAgICAgICB3aWR0aDogMTIuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0zLjc1cmVtO1xuICAgICAgICByaWdodDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZnVydGhlci1pbmZvcm1hdGlvbi0taGFzLXNlcnZpY2UgLmZ1cnRoZXItaW5mb3JtYXRpb25fX2NvbHVtbi1yaWdodDphZnRlciB7XG4gICAgICB3aWR0aDogMTguNzVyZW07IH0gfVxuXG4uYm9vay1jb3ZlcnMtc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYm9vay1jb3ZlcnMtc2xpZGVyLWNvbnRhaW5lciAuc3dpcGVyLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4ubGFuZGluZy1zdHJpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDI1cmVtOyB9XG4gIC5sYW5kaW5nLXN0cmlwI2J3LXByb21vIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAxZW0gMmVtIDFlbSAyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFuZGluZy1zdHJpcCBoMyB7XG4gICAgbWFyZ2luOiAxLjQwNjI1cmVtIDA7IH1cbiAgLmxhbmRpbmctc3RyaXAgLmxhbmRpbmctc3RyaXBlX19pbWFnZS1jZWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGFuZGluZy1zdHJpcCAubGFuZGluZy1zdHJpcGVfX2ltYWdlLWNlbGwgaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICBtYXgtaGVpZ2h0OiAyNi4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxhbmRpbmctc3RyaXAgLmxhbmRpbmctc3RyaXBlX19pbWFnZS1jZWxsIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuICAubGFuZGluZy1zdHJpcCAubGFuZGluZy1zdHJpcGVfX3RleHQtY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDIuODEyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmxhbmRpbmctc3RyaXAgLmxhbmRpbmctc3RyaXBlX190ZXh0LWNlbGwgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxhbmRpbmctc3RyaXAgLmxhbmRpbmctc3RyaXBlX190ZXh0LWNlbGwge1xuICAgICAgICBwYWRkaW5nOiAyLjgxMjVyZW0gMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubGFuZGluZy1zdHJpcCAubGFuZGluZy1zdHJpcGVfX3RleHQtY2VsbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5zZXJ2aWNlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7XG4gIHBhZGRpbmc6IDAuNDY4NzVyZW0gMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2VydmljZS1oZWFkZXIuaXMtc3R1Y2sge1xuICAgIG1hcmdpbi10b3A6IDQuMDYyNXJlbSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAuc2VydmljZS1oZWFkZXIuaXMtc3R1Y2sgLnNlcnZpY2UtaGVhZGVyX19saW5rICNzZXJ2aWNlLWhlYWRlcl9fbG9nbyB7XG4gICAgICB3aWR0aDogMTEuMjVyZW07XG4gICAgICBtYXgtaGVpZ2h0OiAyLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuc2VydmljZS1oZWFkZXIuaXMtc3R1Y2sge1xuICAgICAgICBtYXJnaW4tdG9wOiA1LjY4NzVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgLnNlcnZpY2UtaGVhZGVyLmlzLXN0dWNrIC5zZXJ2aWNlLWhlYWRlcl9fbWVudSAubWVudSBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDEuMTI1cmVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VydmljZS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX2xpbmsgI3NlcnZpY2UtaGVhZGVyX19sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMS4yNXJlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDMuNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbGluayAjc2VydmljZS1oZWFkZXJfX2xvZ28ge1xuICAgICAgICAgIHdpZHRoOiAxMy43NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX2xpbmsgI3NlcnZpY2UtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgICB3aWR0aDogMTdyZW07IH0gfVxuICAgICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbGluayAjc2VydmljZS1oZWFkZXJfX2xvZ28gI3NlcnZpY2UtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX2xvZ28tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUuNjI1cmVtOyB9XG4gIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX21lbnUgLnNlcnZpY2Utc3VibWVudS10cmlnZ2VyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICB3aWR0aDogMS45Mzc1cmVtOyB9XG4gICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbWVudSAuc2VydmljZS1zdWJtZW51LXRyaWdnZXIgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NnB4IC01M3B4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbWVudSAuc2VydmljZS1zdWJtZW51LXRyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2VydmljZS1oZWFkZXIgLnNlcnZpY2UtaGVhZGVyX19tZW51IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMTI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCAwIHJnYmEoMTIxLCAxMjEsIDEyMSwgMC4xKTtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuc2VydmljZS1oZWFkZXIgLnNlcnZpY2UtaGVhZGVyX19tZW51IC5tZW51Lm9wZW5lZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX21lbnUgLm1lbnUgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAgICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbWVudSAubWVudSBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuc2VydmljZS1oZWFkZXIgLnNlcnZpY2UtaGVhZGVyX19tZW51IC5tZW51IGxpLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbWVudSAubWVudSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX21lbnUgLm1lbnUgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDAuNDM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX21lbnUgLm1lbnUgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX21lbnUgLm1lbnUgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbWVudSAubWVudSBsaS5pcy1hY3RpdmUgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbWVudSAubWVudSBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX21lbnUgLm1lbnUgbGkuY3VycmVudF9wYWdlX2l0ZW0gYTphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuICAgICAgICAuc2VydmljZS1oZWFkZXIgLnNlcnZpY2UtaGVhZGVyX19tZW51IC5tZW51IGxpIGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAxLjc1cmVtIDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbWVudSAubWVudSBsaSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX21lbnUgLm1lbnUgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuICAgICAgICAgIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1oZWFkZXJfX21lbnUgLm1lbnUgbGkgYTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0OyB9IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tXaXphcmQgLmZ1cnRoZXItaW5mb3JtYXRpb25fX3NlcnZpY2UtbGFiZWwge1xuICBjb2xvcjogI0I5QzQwMDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1dpemFyZCAuc2VydmljZS1iYW5uZXIgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rV2l6YXJkIC5zZXJ2aWNlLWJhbm5lciAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTI5YjAwOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rV2l6YXJkIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19jb250ZW50IC5idXR0b24ge1xuICBjb2xvcjogI0I5QzQwMDsgfVxuICAuY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1dpemFyZCAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9fY29udGVudCAuYnV0dG9uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAzcHggLTI5cHg7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tXaXphcmQgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjQjlDNDAwOyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rV2l6YXJkIC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhIC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDNweCAtMjlweDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1dpemFyZCAudmlkZW8td2l0aC10ZXh0IC5idXR0b24ge1xuICBjb2xvcjogI0I5QzQwMDsgfVxuICAuY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1dpemFyZCAudmlkZW8td2l0aC10ZXh0IC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDNweCAtMjlweDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1dpemFyZCAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSAuYnV0dG9uIHtcbiAgY29sb3I6ICNCOUM0MDA7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tXaXphcmQgLnR3by1jb2x1bW4tdGV4dC1hcmVhIC50ZXh0LWFyZWEgLmJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwM3B4IC0yOXB4OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rV2l6YXJkIC5zdGF0aXN0aWNzLXBhbmVsIC5zdGF0aXN0aWNzLWl0ZW0gLnN0YXRpc3RpY3MtaXRlbV9fdmFsdWUge1xuICBjb2xvcjogI0I5QzQwMDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1dpemFyZCAuZnVydGhlci1pbmZvcm1hdGlvbl9fY29sdW1uLXRleHQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tXaXphcmQgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMgLnByb2R1Y3QtaXRlbV9fZGV0YWlscy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cblxuLmNhcmQtaXRlbS5zZXJ2aWNlLXR5cGUtLWJvb2tXaXphcmQgLmNhcmQtaXRlbV9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwOyB9XG5cbi5jYXJkLWl0ZW0uc2VydmljZS10eXBlLS1ib29rV2l6YXJkIC5zZXJ2aWNlLXRleHQtY29sb3VyIHtcbiAgY29sb3I6ICNCOUM0MDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zZXJ2aWNlLWhlYWRlci5zZXJ2aWNlLXR5cGUtLWJvb2tXaXphcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwOyB9XG4gIC5zZXJ2aWNlLWhlYWRlci5zZXJ2aWNlLXR5cGUtLWJvb2tXaXphcmQgLm1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cblxuLnNlcnZpY2Utc2lkZWJhci5zZXJ2aWNlLXNpZGViYXItLWJvb2tXaXphcmQge1xuICBib3JkZXItY29sb3I6ICNCOUM0MDA7IH1cbiAgLnNlcnZpY2Utc2lkZWJhci5zZXJ2aWNlLXNpZGViYXItLWJvb2tXaXphcmQgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2Utc2VydmljZS1uYW1lIHtcbiAgICBjb2xvcjogI0I5QzQwMDsgfVxuXG4uc2lkZWJhci1zZXJ2aWNlcy1saXN0IC5zZXJ2aWNlLWl0ZW0tLWJvb2tXaXphcmQgLnNlcnZpY2UtaXRlbV9fZGVzY3JpcHRpb24tc2VydmljZSB7XG4gIGNvbG9yOiAjQjlDNDAwOyB9XG5cbi5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rV2l6YXJkIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19sYWJlbCB7XG4gIGNvbG9yOiAjQjlDNDAwOyB9XG5cbi5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS5zbGlkZS1pdGVtLS1ib29rV2l6YXJkLFxuLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLTMtY29sLnNsaWRlLWl0ZW0tLWJvb2tXaXphcmQge1xuICBib3JkZXItYm90dG9tOiAxM3B4IHNvbGlkICNCOUM0MDA7IH1cbiAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLnNsaWRlLWl0ZW0tLWJvb2tXaXphcmQgLmJ1dHRvbixcbiAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLTMtY29sLnNsaWRlLWl0ZW0tLWJvb2tXaXphcmQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDsgfVxuXG4uaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbS5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rV2l6YXJkIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0I5QzQwMDsgfVxuICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbS5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rV2l6YXJkIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19pY29uLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjQjlDNDAwICFpbXBvcnRhbnQ7IH1cblxuLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZS5yZWxhdGVkLXNlcnZpY2UtLWJvb2tXaXphcmQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cblxuLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZS5yZWxhdGVkLXNlcnZpY2UtLWJvb2tXaXphcmQgLnJlbGF0ZWQtc2VydmljZV9fYmctY29udGFpbmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjQjlDNDAwOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHJpbnQgLmZ1cnRoZXItaW5mb3JtYXRpb25fX3NlcnZpY2UtbGFiZWwge1xuICBjb2xvcjogI0I5QzQwMDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ByaW50IC5zZXJ2aWNlLWJhbm5lciAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQcmludCAuc2VydmljZS1iYW5uZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkyOWIwMDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ByaW50IC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19jb250ZW50IC5idXR0b24ge1xuICBjb2xvcjogI0I5QzQwMDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ByaW50IC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhIC5idXR0b24ge1xuICBjb2xvcjogI0I5QzQwMDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ByaW50IC52aWRlby13aXRoLXRleHQgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjQjlDNDAwOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHJpbnQgLnR3by1jb2x1bW4tdGV4dC1hcmVhIC50ZXh0LWFyZWEgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjQjlDNDAwOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHJpbnQgLnN0YXRpc3RpY3MtcGFuZWwgLnN0YXRpc3RpY3MtaXRlbSAuc3RhdGlzdGljcy1pdGVtX192YWx1ZSB7XG4gIGNvbG9yOiAjQjlDNDAwOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHJpbnQgLmZ1cnRoZXItaW5mb3JtYXRpb25fX2NvbHVtbi10ZXh0IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHJpbnQgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMgLnByb2R1Y3QtaXRlbV9fZGV0YWlscy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cblxuLmNhcmQtaXRlbS5zZXJ2aWNlLXR5cGUtLWJvb2tQcmludCAuY2FyZC1pdGVtX19pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cblxuLmNhcmQtaXRlbS5zZXJ2aWNlLXR5cGUtLWJvb2tQcmludCAuc2VydmljZS10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAjQjlDNDAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc2VydmljZS1oZWFkZXIuc2VydmljZS10eXBlLS1ib29rUHJpbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwOyB9XG4gIC5zZXJ2aWNlLWhlYWRlci5zZXJ2aWNlLXR5cGUtLWJvb2tQcmludCAubWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDsgfVxuXG4uc2VydmljZS1zaWRlYmFyLnNlcnZpY2Utc2lkZWJhci0tYm9va1ByaW50IHtcbiAgYm9yZGVyLWNvbG9yOiAjQjlDNDAwOyB9XG4gIC5zZXJ2aWNlLXNpZGViYXIuc2VydmljZS1zaWRlYmFyLS1ib29rUHJpbnQgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2Utc2VydmljZS1uYW1lIHtcbiAgICBjb2xvcjogI0I5QzQwMDsgfVxuXG4uc2lkZWJhci1zZXJ2aWNlcy1saXN0IC5zZXJ2aWNlLWl0ZW0tLWJvb2tQcmludCAuc2VydmljZS1pdGVtX19kZXNjcmlwdGlvbi1zZXJ2aWNlIHtcbiAgY29sb3I6ICNCOUM0MDA7IH1cblxuLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tQcmludCAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwge1xuICBjb2xvcjogI0I5QzQwMDsgfVxuXG4uaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0uc2xpZGUtaXRlbS0tYm9va1ByaW50LFxuLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLTMtY29sLnNsaWRlLWl0ZW0tLWJvb2tQcmludCB7XG4gIGJvcmRlci1ib3R0b206IDEzcHggc29saWQgI0I5QzQwMDsgfVxuICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0uc2xpZGUtaXRlbS0tYm9va1ByaW50IC5idXR0b24sXG4gIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS0zLWNvbC5zbGlkZS1pdGVtLS1ib29rUHJpbnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I5QzQwMDsgfVxuXG4uaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbS5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rUHJpbnQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjQjlDNDAwOyB9XG4gIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tQcmludCAuc2VydmljZV9faXRlbS1ncm91cF9faWNvbi1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0I5QzQwMCAhaW1wb3J0YW50OyB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UucmVsYXRlZC1zZXJ2aWNlLS1ib29rUHJpbnQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDA7IH1cblxuLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZS5yZWxhdGVkLXNlcnZpY2UtLWJvb2tQcmludCAucmVsYXRlZC1zZXJ2aWNlX19iZy1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNCOUM0MDA7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tWYXVsdCAuZnVydGhlci1pbmZvcm1hdGlvbl9fc2VydmljZS1sYWJlbCB7XG4gIGNvbG9yOiAjNzlCM0UyOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rVmF1bHQgLnNlcnZpY2UtYmFubmVyIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzlCM0UyO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ZhdWx0IC5zZXJ2aWNlLWJhbm5lciAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTdhMGRiOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rVmF1bHQgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjNzlCM0UyOyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rVmF1bHQgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExNXB4IC0yOXB4OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rVmF1bHQgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjNzlCM0UyOyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rVmF1bHQgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgLmJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExNXB4IC0yOXB4OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rVmF1bHQgLnZpZGVvLXdpdGgtdGV4dCAuYnV0dG9uIHtcbiAgY29sb3I6ICM3OUIzRTI7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tWYXVsdCAudmlkZW8td2l0aC10ZXh0IC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTVweCAtMjlweDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ZhdWx0IC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhIC5idXR0b24ge1xuICBjb2xvcjogIzc5QjNFMjsgfVxuICAuY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ZhdWx0IC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhIC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTVweCAtMjlweDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ZhdWx0IC5zdGF0aXN0aWNzLXBhbmVsIC5zdGF0aXN0aWNzLWl0ZW0gLnN0YXRpc3RpY3MtaXRlbV9fdmFsdWUge1xuICBjb2xvcjogIzc5QjNFMjsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ZhdWx0IC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4tdGV4dCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc5QjNFMjsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1ZhdWx0IC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19kZXRhaWxzIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzlCM0UyOyB9XG5cbi5jYXJkLWl0ZW0uc2VydmljZS10eXBlLS1ib29rVmF1bHQgLmNhcmQtaXRlbV9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzlCM0UyOyB9XG5cbi5jYXJkLWl0ZW0uc2VydmljZS10eXBlLS1ib29rVmF1bHQgLnNlcnZpY2UtdGV4dC1jb2xvdXIge1xuICBjb2xvcjogIzc5QjNFMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnNlcnZpY2UtaGVhZGVyLnNlcnZpY2UtdHlwZS0tYm9va1ZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc5QjNFMjsgfVxuICAuc2VydmljZS1oZWFkZXIuc2VydmljZS10eXBlLS1ib29rVmF1bHQgLm1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3OUIzRTI7IH1cblxuLnNlcnZpY2Utc2lkZWJhci5zZXJ2aWNlLXNpZGViYXItLWJvb2tWYXVsdCB7XG4gIGJvcmRlci1jb2xvcjogIzc5QjNFMjsgfVxuICAuc2VydmljZS1zaWRlYmFyLnNlcnZpY2Utc2lkZWJhci0tYm9va1ZhdWx0IC5zZXJ2aWNlLXNpZGViYXJfX2ltYWdlLXNlcnZpY2UtbmFtZSB7XG4gICAgY29sb3I6ICM3OUIzRTI7IH1cblxuLnNpZGViYXItc2VydmljZXMtbGlzdCAuc2VydmljZS1pdGVtLS1ib29rVmF1bHQgLnNlcnZpY2UtaXRlbV9fZGVzY3JpcHRpb24tc2VydmljZSB7XG4gIGNvbG9yOiAjNzlCM0UyOyB9XG5cbi5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rVmF1bHQgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2xhYmVsIHtcbiAgY29sb3I6ICM3OUIzRTI7IH1cblxuLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLnNsaWRlLWl0ZW0tLWJvb2tWYXVsdCxcbi5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS0zLWNvbC5zbGlkZS1pdGVtLS1ib29rVmF1bHQge1xuICBib3JkZXItYm90dG9tOiAxM3B4IHNvbGlkICM3OUIzRTI7IH1cbiAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLnNsaWRlLWl0ZW0tLWJvb2tWYXVsdCAuYnV0dG9uLFxuICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0tMy1jb2wuc2xpZGUtaXRlbS0tYm9va1ZhdWx0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3OUIzRTI7IH1cblxuLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0uc2VydmljZV9faXRlbS1ncm91cC0tYm9va1ZhdWx0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzc5QjNFMjsgfVxuICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbS5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rVmF1bHQgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2ljb24tY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM3OUIzRTIgIWltcG9ydGFudDsgfVxuXG4ucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlLnJlbGF0ZWQtc2VydmljZS0tYm9va1ZhdWx0IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzlCM0UyOyB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UucmVsYXRlZC1zZXJ2aWNlLS1ib29rVmF1bHQgLnJlbGF0ZWQtc2VydmljZV9fYmctY29udGFpbmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzlCM0UyOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rR2xvYmFsIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19zZXJ2aWNlLWxhYmVsIHtcbiAgY29sb3I6ICNDQzJCMTc7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tHbG9iYWwgLnNlcnZpY2UtYmFubmVyIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MyQjE3O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va0dsb2JhbCAuc2VydmljZS1iYW5uZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E3MjMxMzsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va0dsb2JhbCAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9fY29udGVudCAuYnV0dG9uIHtcbiAgY29sb3I6ICNDQzJCMTc7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tHbG9iYWwgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyN3B4IC0yOXB4OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rR2xvYmFsIC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhIC5idXR0b24ge1xuICBjb2xvcjogI0NDMkIxNzsgfVxuICAuY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va0dsb2JhbCAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSAuYnV0dG9uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI3cHggLTI5cHg7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tHbG9iYWwgLnZpZGVvLXdpdGgtdGV4dCAuYnV0dG9uIHtcbiAgY29sb3I6ICNDQzJCMTc7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tHbG9iYWwgLnZpZGVvLXdpdGgtdGV4dCAuYnV0dG9uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI3cHggLTI5cHg7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tHbG9iYWwgLnR3by1jb2x1bW4tdGV4dC1hcmVhIC50ZXh0LWFyZWEgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjQ0MyQjE3OyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rR2xvYmFsIC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhIC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjdweCAtMjlweDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va0dsb2JhbCAuc3RhdGlzdGljcy1wYW5lbCAuc3RhdGlzdGljcy1pdGVtIC5zdGF0aXN0aWNzLWl0ZW1fX3ZhbHVlIHtcbiAgY29sb3I6ICNDQzJCMTc7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tHbG9iYWwgLmZ1cnRoZXItaW5mb3JtYXRpb25fX2NvbHVtbi10ZXh0IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MyQjE3OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rR2xvYmFsIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19kZXRhaWxzIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MyQjE3OyB9XG5cbi5jYXJkLWl0ZW0uc2VydmljZS10eXBlLS1ib29rR2xvYmFsIC5jYXJkLWl0ZW1fX2ltYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDMkIxNzsgfVxuXG4uY2FyZC1pdGVtLnNlcnZpY2UtdHlwZS0tYm9va0dsb2JhbCAuc2VydmljZS10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAjQ0MyQjE3O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc2VydmljZS1oZWFkZXIuc2VydmljZS10eXBlLS1ib29rR2xvYmFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDMkIxNzsgfVxuICAuc2VydmljZS1oZWFkZXIuc2VydmljZS10eXBlLS1ib29rR2xvYmFsIC5tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MyQjE3OyB9XG5cbi5zZXJ2aWNlLXNpZGViYXIuc2VydmljZS1zaWRlYmFyLS1ib29rR2xvYmFsIHtcbiAgYm9yZGVyLWNvbG9yOiAjQ0MyQjE3OyB9XG4gIC5zZXJ2aWNlLXNpZGViYXIuc2VydmljZS1zaWRlYmFyLS1ib29rR2xvYmFsIC5zZXJ2aWNlLXNpZGViYXJfX2ltYWdlLXNlcnZpY2UtbmFtZSB7XG4gICAgY29sb3I6ICNDQzJCMTc7IH1cblxuLnNpZGViYXItc2VydmljZXMtbGlzdCAuc2VydmljZS1pdGVtLS1ib29rR2xvYmFsIC5zZXJ2aWNlLWl0ZW1fX2Rlc2NyaXB0aW9uLXNlcnZpY2Uge1xuICBjb2xvcjogI0NDMkIxNzsgfVxuXG4uc2VydmljZV9faXRlbS1ncm91cC0tYm9va0dsb2JhbCAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwge1xuICBjb2xvcjogI0NDMkIxNzsgfVxuXG4uaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0uc2xpZGUtaXRlbS0tYm9va0dsb2JhbCxcbi5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS0zLWNvbC5zbGlkZS1pdGVtLS1ib29rR2xvYmFsIHtcbiAgYm9yZGVyLWJvdHRvbTogMTNweCBzb2xpZCAjQ0MyQjE3OyB9XG4gIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS5zbGlkZS1pdGVtLS1ib29rR2xvYmFsIC5idXR0b24sXG4gIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS0zLWNvbC5zbGlkZS1pdGVtLS1ib29rR2xvYmFsIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDQzJCMTc7IH1cblxuLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0uc2VydmljZV9faXRlbS1ncm91cC0tYm9va0dsb2JhbCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNDQzJCMTc7IH1cbiAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0uc2VydmljZV9faXRlbS1ncm91cC0tYm9va0dsb2JhbCAuc2VydmljZV9faXRlbS1ncm91cF9faWNvbi1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0NDMkIxNyAhaW1wb3J0YW50OyB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UucmVsYXRlZC1zZXJ2aWNlLS1ib29rR2xvYmFsIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MyQjE3OyB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UucmVsYXRlZC1zZXJ2aWNlLS1ib29rR2xvYmFsIC5yZWxhdGVkLXNlcnZpY2VfX2JnLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogI0NDMkIxNzsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2hlciAuZnVydGhlci1pbmZvcm1hdGlvbl9fc2VydmljZS1sYWJlbCB7XG4gIGNvbG9yOiAjRENBRjAxOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaGVyIC5zZXJ2aWNlLWJhbm5lciAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoZXIgLnNlcnZpY2UtYmFubmVyIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMzhmMDE7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoZXIgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjRENBRjAxOyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaGVyIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19jb250ZW50IC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDlweCAtMjlweDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2hlciAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSAuYnV0dG9uIHtcbiAgY29sb3I6ICNEQ0FGMDE7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoZXIgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgLmJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOXB4IC0yOXB4OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaGVyIC52aWRlby13aXRoLXRleHQgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjRENBRjAxOyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaGVyIC52aWRlby13aXRoLXRleHQgLmJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOXB4IC0yOXB4OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaGVyIC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhIC5idXR0b24ge1xuICBjb2xvcjogI0RDQUYwMTsgfVxuICAuY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2hlciAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSAuYnV0dG9uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA5cHggLTI5cHg7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoZXIgLnN0YXRpc3RpY3MtcGFuZWwgLnN0YXRpc3RpY3MtaXRlbSAuc3RhdGlzdGljcy1pdGVtX192YWx1ZSB7XG4gIGNvbG9yOiAjRENBRjAxOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaGVyIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4tdGV4dCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2hlciAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGV0YWlscyAucHJvZHVjdC1pdGVtX19kZXRhaWxzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTsgfVxuXG4uY2FyZC1pdGVtLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2hlciAuY2FyZC1pdGVtX19pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQ0FGMDE7IH1cblxuLmNhcmQtaXRlbS5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoZXIgLnNlcnZpY2UtdGV4dC1jb2xvdXIge1xuICBjb2xvcjogI0RDQUYwMTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnNlcnZpY2UtaGVhZGVyLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2hlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQ0FGMDE7IH1cbiAgLnNlcnZpY2UtaGVhZGVyLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2hlciAubWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTsgfVxuXG4uc2VydmljZS1zaWRlYmFyLnNlcnZpY2Utc2lkZWJhci0tYm9va1B1Ymxpc2hlciB7XG4gIGJvcmRlci1jb2xvcjogI0RDQUYwMTsgfVxuICAuc2VydmljZS1zaWRlYmFyLnNlcnZpY2Utc2lkZWJhci0tYm9va1B1Ymxpc2hlciAuc2VydmljZS1zaWRlYmFyX19pbWFnZS1zZXJ2aWNlLW5hbWUge1xuICAgIGNvbG9yOiAjRENBRjAxOyB9XG5cbi5zaWRlYmFyLXNlcnZpY2VzLWxpc3QgLnNlcnZpY2UtaXRlbS0tYm9va1B1Ymxpc2hlciAuc2VydmljZS1pdGVtX19kZXNjcmlwdGlvbi1zZXJ2aWNlIHtcbiAgY29sb3I6ICNEQ0FGMDE7IH1cblxuLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tQdWJsaXNoZXIgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2xhYmVsIHtcbiAgY29sb3I6ICNEQ0FGMDE7IH1cblxuLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLnNsaWRlLWl0ZW0tLWJvb2tQdWJsaXNoZXIsXG4uaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0tMy1jb2wuc2xpZGUtaXRlbS0tYm9va1B1Ymxpc2hlciB7XG4gIGJvcmRlci1ib3R0b206IDEzcHggc29saWQgI0RDQUYwMTsgfVxuICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0uc2xpZGUtaXRlbS0tYm9va1B1Ymxpc2hlciAuYnV0dG9uLFxuICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0tMy1jb2wuc2xpZGUtaXRlbS0tYm9va1B1Ymxpc2hlciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRENBRjAxOyB9XG5cbi5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tQdWJsaXNoZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRENBRjAxOyB9XG4gIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tQdWJsaXNoZXIgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2ljb24tY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNEQ0FGMDEgIWltcG9ydGFudDsgfVxuXG4ucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlLnJlbGF0ZWQtc2VydmljZS0tYm9va1B1Ymxpc2hlciAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTsgfVxuXG4ucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlLnJlbGF0ZWQtc2VydmljZS0tYm9va1B1Ymxpc2hlciAucmVsYXRlZC1zZXJ2aWNlX19iZy1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNEQ0FGMDE7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19zZXJ2aWNlLWxhYmVsIHtcbiAgY29sb3I6ICNEQ0FGMDE7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoIC5zZXJ2aWNlLWJhbm5lciAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoIC5zZXJ2aWNlLWJhbm5lciAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjM4ZjAxOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaCAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9fY29udGVudCAuYnV0dG9uIHtcbiAgY29sb3I6ICNEQ0FGMDE7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoIC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhIC5idXR0b24ge1xuICBjb2xvcjogI0RDQUYwMTsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2ggLnZpZGVvLXdpdGgtdGV4dCAuYnV0dG9uIHtcbiAgY29sb3I6ICNEQ0FGMDE7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoIC50d28tY29sdW1uLXRleHQtYXJlYSAudGV4dC1hcmVhIC5idXR0b24ge1xuICBjb2xvcjogI0RDQUYwMTsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1B1Ymxpc2ggLnN0YXRpc3RpY3MtcGFuZWwgLnN0YXRpc3RpY3MtaXRlbSAuc3RhdGlzdGljcy1pdGVtX192YWx1ZSB7XG4gIGNvbG9yOiAjRENBRjAxOyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaCAuZnVydGhlci1pbmZvcm1hdGlvbl9fY29sdW1uLXRleHQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQ0FGMDE7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoIC5wcm9kdWN0LWxpc3QgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtX19kZXRhaWxzIC5wcm9kdWN0LWl0ZW1fX2RldGFpbHMtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRENBRjAxOyB9XG5cbi5jYXJkLWl0ZW0uc2VydmljZS10eXBlLS1ib29rUHVibGlzaCAuY2FyZC1pdGVtX19pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQ0FGMDE7IH1cblxuLmNhcmQtaXRlbS5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoIC5zZXJ2aWNlLXRleHQtY29sb3VyIHtcbiAgY29sb3I6ICNEQ0FGMDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zZXJ2aWNlLWhlYWRlci5zZXJ2aWNlLXR5cGUtLWJvb2tQdWJsaXNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTsgfVxuICAuc2VydmljZS1oZWFkZXIuc2VydmljZS10eXBlLS1ib29rUHVibGlzaCAubWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RDQUYwMTsgfVxuXG4uc2VydmljZS1zaWRlYmFyLnNlcnZpY2Utc2lkZWJhci0tYm9va1B1Ymxpc2gge1xuICBib3JkZXItY29sb3I6ICNEQ0FGMDE7IH1cbiAgLnNlcnZpY2Utc2lkZWJhci5zZXJ2aWNlLXNpZGViYXItLWJvb2tQdWJsaXNoIC5zZXJ2aWNlLXNpZGViYXJfX2ltYWdlLXNlcnZpY2UtbmFtZSB7XG4gICAgY29sb3I6ICNEQ0FGMDE7IH1cblxuLnNpZGViYXItc2VydmljZXMtbGlzdCAuc2VydmljZS1pdGVtLS1ib29rUHVibGlzaCAuc2VydmljZS1pdGVtX19kZXNjcmlwdGlvbi1zZXJ2aWNlIHtcbiAgY29sb3I6ICNEQ0FGMDE7IH1cblxuLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tQdWJsaXNoIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19sYWJlbCB7XG4gIGNvbG9yOiAjRENBRjAxOyB9XG5cbi5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS5zbGlkZS1pdGVtLS1ib29rUHVibGlzaCxcbi5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS0zLWNvbC5zbGlkZS1pdGVtLS1ib29rUHVibGlzaCB7XG4gIGJvcmRlci1ib3R0b206IDEzcHggc29saWQgI0RDQUYwMTsgfVxuICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0uc2xpZGUtaXRlbS0tYm9va1B1Ymxpc2ggLmJ1dHRvbixcbiAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLTMtY29sLnNsaWRlLWl0ZW0tLWJvb2tQdWJsaXNoIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQ0FGMDE7IH1cblxuLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0uc2VydmljZV9faXRlbS1ncm91cC0tYm9va1B1Ymxpc2gge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRENBRjAxOyB9XG4gIC5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tQdWJsaXNoIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19pY29uLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRENBRjAxICFpbXBvcnRhbnQ7IH1cblxuLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZS5yZWxhdGVkLXNlcnZpY2UtLWJvb2tQdWJsaXNoIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRENBRjAxOyB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UucmVsYXRlZC1zZXJ2aWNlLS1ib29rUHVibGlzaCAucmVsYXRlZC1zZXJ2aWNlX19iZy1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNEQ0FGMDE7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tTaG9wIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19zZXJ2aWNlLWxhYmVsIHtcbiAgY29sb3I6ICMyNjM2ODk7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tTaG9wIC5zZXJ2aWNlLWJhbm5lciAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MzY4OTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tTaG9wIC5zZXJ2aWNlLWJhbm5lciAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyOTY5OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2hvcCAubGFuZHNjYXBlLWNhcmRzIC5jYXJkLWl0ZW0gLmNhcmQtaXRlbV9fY29udGVudCAuYnV0dG9uIHtcbiAgY29sb3I6ICMyNjM2ODk7IH1cbiAgLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tTaG9wIC5sYW5kc2NhcGUtY2FyZHMgLmNhcmQtaXRlbSAuY2FyZC1pdGVtX19jb250ZW50IC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzNweCAtMjlweDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1Nob3AgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMjYzNjg5OyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2hvcCAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSAuYnV0dG9uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMzcHggLTI5cHg7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tTaG9wIC52aWRlby13aXRoLXRleHQgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMjYzNjg5OyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2hvcCAudmlkZW8td2l0aC10ZXh0IC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzNweCAtMjlweDsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1Nob3AgLnR3by1jb2x1bW4tdGV4dC1hcmVhIC50ZXh0LWFyZWEgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMjYzNjg5OyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2hvcCAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSAuYnV0dG9uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMzcHggLTI5cHg7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tTaG9wIC5zdGF0aXN0aWNzLXBhbmVsIC5zdGF0aXN0aWNzLWl0ZW0gLnN0YXRpc3RpY3MtaXRlbV9fdmFsdWUge1xuICBjb2xvcjogIzI2MzY4OTsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1Nob3AgLmZ1cnRoZXItaW5mb3JtYXRpb25fX2NvbHVtbi10ZXh0IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzNjg5OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2hvcCAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGV0YWlscyAucHJvZHVjdC1pdGVtX19kZXRhaWxzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MzY4OTsgfVxuXG4uY2FyZC1pdGVtLnNlcnZpY2UtdHlwZS0tYm9va1Nob3AgLmNhcmQtaXRlbV9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzNjg5OyB9XG5cbi5jYXJkLWl0ZW0uc2VydmljZS10eXBlLS1ib29rU2hvcCAuc2VydmljZS10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAjMjYzNjg5O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc2VydmljZS1oZWFkZXIuc2VydmljZS10eXBlLS1ib29rU2hvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjM2ODk7IH1cbiAgLnNlcnZpY2UtaGVhZGVyLnNlcnZpY2UtdHlwZS0tYm9va1Nob3AgLm1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjM2ODk7IH1cblxuLnNlcnZpY2Utc2lkZWJhci5zZXJ2aWNlLXNpZGViYXItLWJvb2tTaG9wIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjYzNjg5OyB9XG4gIC5zZXJ2aWNlLXNpZGViYXIuc2VydmljZS1zaWRlYmFyLS1ib29rU2hvcCAuc2VydmljZS1zaWRlYmFyX19pbWFnZS1zZXJ2aWNlLW5hbWUge1xuICAgIGNvbG9yOiAjMjYzNjg5OyB9XG5cbi5zaWRlYmFyLXNlcnZpY2VzLWxpc3QgLnNlcnZpY2UtaXRlbS0tYm9va1Nob3AgLnNlcnZpY2UtaXRlbV9fZGVzY3JpcHRpb24tc2VydmljZSB7XG4gIGNvbG9yOiAjMjYzNjg5OyB9XG5cbi5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rU2hvcCAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwge1xuICBjb2xvcjogIzI2MzY4OTsgfVxuXG4uaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0uc2xpZGUtaXRlbS0tYm9va1Nob3AsXG4uaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0tMy1jb2wuc2xpZGUtaXRlbS0tYm9va1Nob3Age1xuICBib3JkZXItYm90dG9tOiAxM3B4IHNvbGlkICMyNjM2ODk7IH1cbiAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLnNsaWRlLWl0ZW0tLWJvb2tTaG9wIC5idXR0b24sXG4gIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS0zLWNvbC5zbGlkZS1pdGVtLS1ib29rU2hvcCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzNjg5OyB9XG5cbi5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tTaG9wIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzI2MzY4OTsgfVxuICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbS5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rU2hvcCAuc2VydmljZV9faXRlbS1ncm91cF9faWNvbi1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzI2MzY4OSAhaW1wb3J0YW50OyB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UucmVsYXRlZC1zZXJ2aWNlLS1ib29rU2hvcCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MzY4OTsgfVxuXG4ucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlLnJlbGF0ZWQtc2VydmljZS0tYm9va1Nob3AgLnJlbGF0ZWQtc2VydmljZV9fYmctY29udGFpbmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjYzNjg5OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2VsbCAuZnVydGhlci1pbmZvcm1hdGlvbl9fc2VydmljZS1sYWJlbCB7XG4gIGNvbG9yOiAjMjYzNjg5OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2VsbCAuc2VydmljZS1iYW5uZXIgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjM2ODk7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2VsbCAuc2VydmljZS1iYW5uZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjk2OTsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1NlbGwgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMjYzNjg5OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2VsbCAudGV4dC13aXRoLWltYWdlIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSAuYnV0dG9uIHtcbiAgY29sb3I6ICMyNjM2ODk7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tTZWxsIC52aWRlby13aXRoLXRleHQgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMjYzNjg5OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2VsbCAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSAuYnV0dG9uIHtcbiAgY29sb3I6ICMyNjM2ODk7IH1cblxuLmNvbnRhaW5lci5zZXJ2aWNlLXR5cGUtLWJvb2tTZWxsIC5zdGF0aXN0aWNzLXBhbmVsIC5zdGF0aXN0aWNzLWl0ZW0gLnN0YXRpc3RpY3MtaXRlbV9fdmFsdWUge1xuICBjb2xvcjogIzI2MzY4OTsgfVxuXG4uY29udGFpbmVyLnNlcnZpY2UtdHlwZS0tYm9va1NlbGwgLmZ1cnRoZXItaW5mb3JtYXRpb25fX2NvbHVtbi10ZXh0IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzNjg5OyB9XG5cbi5jb250YWluZXIuc2VydmljZS10eXBlLS1ib29rU2VsbCAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGV0YWlscyAucHJvZHVjdC1pdGVtX19kZXRhaWxzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MzY4OTsgfVxuXG4uY2FyZC1pdGVtLnNlcnZpY2UtdHlwZS0tYm9va1NlbGwgLmNhcmQtaXRlbV9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzNjg5OyB9XG5cbi5jYXJkLWl0ZW0uc2VydmljZS10eXBlLS1ib29rU2VsbCAuc2VydmljZS10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAjMjYzNjg5O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc2VydmljZS1oZWFkZXIuc2VydmljZS10eXBlLS1ib29rU2VsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjM2ODk7IH1cbiAgLnNlcnZpY2UtaGVhZGVyLnNlcnZpY2UtdHlwZS0tYm9va1NlbGwgLm1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjM2ODk7IH1cblxuLnNlcnZpY2Utc2lkZWJhci5zZXJ2aWNlLXNpZGViYXItLWJvb2tTZWxsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjYzNjg5OyB9XG4gIC5zZXJ2aWNlLXNpZGViYXIuc2VydmljZS1zaWRlYmFyLS1ib29rU2VsbCAuc2VydmljZS1zaWRlYmFyX19pbWFnZS1zZXJ2aWNlLW5hbWUge1xuICAgIGNvbG9yOiAjMjYzNjg5OyB9XG5cbi5zaWRlYmFyLXNlcnZpY2VzLWxpc3QgLnNlcnZpY2UtaXRlbS0tYm9va1NlbGwgLnNlcnZpY2UtaXRlbV9fZGVzY3JpcHRpb24tc2VydmljZSB7XG4gIGNvbG9yOiAjMjYzNjg5OyB9XG5cbi5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rU2VsbCAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwge1xuICBjb2xvcjogIzI2MzY4OTsgfVxuXG4uaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0uc2xpZGUtaXRlbS0tYm9va1NlbGwsXG4uaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0tMy1jb2wuc2xpZGUtaXRlbS0tYm9va1NlbGwge1xuICBib3JkZXItYm90dG9tOiAxM3B4IHNvbGlkICMyNjM2ODk7IH1cbiAgLmhvbWUtc2xpZGVyIC5zbGlkZS1pdGVtLnNsaWRlLWl0ZW0tLWJvb2tTZWxsIC5idXR0b24sXG4gIC5ob21lLXNsaWRlciAuc2xpZGUtaXRlbS0zLWNvbC5zbGlkZS1pdGVtLS1ib29rU2VsbCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzNjg5OyB9XG5cbi5ob21lLXNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2VzX19pdGVtLnNlcnZpY2VfX2l0ZW0tZ3JvdXAtLWJvb2tTZWxsIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzI2MzY4OTsgfVxuICAuaG9tZS1zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlc19faXRlbS5zZXJ2aWNlX19pdGVtLWdyb3VwLS1ib29rU2VsbCAuc2VydmljZV9faXRlbS1ncm91cF9faWNvbi1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzI2MzY4OSAhaW1wb3J0YW50OyB9XG5cbi5yZWxhdGVkLXNlcnZpY2VzIC5yZWxhdGVkLXNlcnZpY2UucmVsYXRlZC1zZXJ2aWNlLS1ib29rU2VsbCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MzY4OTsgfVxuXG4ucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlLnJlbGF0ZWQtc2VydmljZS0tYm9va1NlbGwgLnJlbGF0ZWQtc2VydmljZV9fYmctY29udGFpbmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjYzNjg5OyB9XG5cbi5wb3J0cmFpdC1jYXJkcyAudGVhbS1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyLjM0Mzc1cmVtOyB9XG4gIC5wb3J0cmFpdC1jYXJkcyAudGVhbS1jYXJkIC5jYXJkX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBpbml0aWFsOyB9XG4gICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQgLmNhcmRfX2ltYWdlIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQgLmNhcmRfX2ltYWdlOmhvdmVyIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQudGVhbS1jYXJkLS1oYXMtYmlvIC5jYXJkX19pbWFnZSAubW9iaWxlLW92ZXJsYXktdHJpZ2dlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogLTEuNTYyNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQudGVhbS1jYXJkLS1oYXMtYmlvIC5jYXJkX19pbWFnZSAubW9iaWxlLW92ZXJsYXktdHJpZ2dlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQudGVhbS1jYXJkLS1oYXMtYmlvIC5jYXJkX19pbWFnZSAubW9iaWxlLW92ZXJsYXktdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuNDM3NXJlbTtcbiAgICAgIHdpZHRoOiAwLjgxMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4N3B4IC01cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQudGVhbS1jYXJkLS1oYXMtYmlvLm9wZW5lZCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNSk7IH1cbiAgICAucG9ydHJhaXQtY2FyZHMgLnRlYW0tY2FyZC50ZWFtLWNhcmQtLWhhcy1iaW8ub3BlbmVkIC5tb2JpbGUtb3ZlcmxheS10cmlnZ2VyIHtcbiAgICAgIHRvcDogMDsgfVxuICAgICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQudGVhbS1jYXJkLS1oYXMtYmlvLm9wZW5lZCAubW9iaWxlLW92ZXJsYXktdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMC40Mzc1cmVtO1xuICAgICAgICB3aWR0aDogMC44MTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9kdy1zcHJpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg3cHggLTEzcHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4MnB4IDY2cHg7IH1cbiAgICAucG9ydHJhaXQtY2FyZHMgLnRlYW0tY2FyZC50ZWFtLWNhcmQtLWhhcy1iaW8ub3BlbmVkIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeSB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wb3J0cmFpdC1jYXJkcyAudGVhbS1jYXJkLnRlYW0tY2FyZC0taGFzLWJpbzpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTUzLCAxNTMsIDE1MywgMC41KTsgfVxuICAgICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQudGVhbS1jYXJkLS1oYXMtYmlvOmhvdmVyIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAucG9ydHJhaXQtY2FyZHMgLnRlYW0tY2FyZCAudGVhbS1jYXJkX19iaW9ncmFwaHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDsgfVxuICAucG9ydHJhaXQtY2FyZHMgLnRlYW0tY2FyZCAudGVhbS1jYXJkX19iaW9ncmFwaHkge1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5wb3J0cmFpdC1jYXJkcyAudGVhbS1jYXJkIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeSBhIHtcbiAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQgLnRlYW0tY2FyZF9fYmlvZ3JhcGh5IC50ZWFtLWNhcmRfX2Jpb2dyYXBoeS10aXRsZS13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQgLnRlYW0tY2FyZF9fYmlvZ3JhcGh5IC50ZWFtLWNhcmRfX2Jpb2dyYXBoeS10aXRsZS13cmFwcGVyIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeS1zb2NpYWwtYWNjb3VudHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAgICAgLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQgLnRlYW0tY2FyZF9fYmlvZ3JhcGh5IC50ZWFtLWNhcmRfX2Jpb2dyYXBoeS10aXRsZS13cmFwcGVyIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeS1zb2NpYWwtYWNjb3VudHMgLnRlYW0tc29jaWFsLWljb24tLXR3aXR0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgICAgICB3aWR0aDogMS4zMTI1cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExOHB4IC00N3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDsgfVxuICAgICAgICAucG9ydHJhaXQtY2FyZHMgLnRlYW0tY2FyZCAudGVhbS1jYXJkX19iaW9ncmFwaHkgLnRlYW0tY2FyZF9fYmlvZ3JhcGh5LXRpdGxlLXdyYXBwZXIgLnRlYW0tY2FyZF9fYmlvZ3JhcGh5LXNvY2lhbC1hY2NvdW50cyAudGVhbS1zb2NpYWwtaWNvbi0tbGlua2VkaW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDEuMzEyNXJlbTtcbiAgICAgICAgICB3aWR0aDogMS4zMTI1cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wb2R3LXNwcml0ZS5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2NXB4IC0ycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0ODJweCA2NnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIC5wb3J0cmFpdC1jYXJkcyAudGVhbS1jYXJkIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeSAudGVhbS1jYXJkX19iaW9ncmFwaHktdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfVxuICAgIC5wb3J0cmFpdC1jYXJkcyAudGVhbS1jYXJkIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeSAudGVhbS1jYXJkX19iaW9ncmFwaHktY29udGFjdC1kZXRhaWxzIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5wb3J0cmFpdC1jYXJkcyAudGVhbS1jYXJkIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeSAudGVhbS1jYXJkX19iaW9ncmFwaHktY29udGFjdC1kZXRhaWxzIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4uYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAwOyB9IH1cbiAgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmFydGljbGVfX2NvbnRlbnQtdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmFydGljbGVfX2NvbnRlbnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuYXJ0aWNsZV9fY29udGVudC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfSB9XG4gIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5hcnRpY2xlX19jb250ZW50LWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cbiAgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmFydGljbGVfX2NvbnRlbnQtc29jaWFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5hcnRpY2xlX19jb250ZW50LXRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9IH1cblxuLnNpbmdsZS1ldmVudCAuYXJ0aWNsZV9fY29udGVudCAuYXJ0aWNsZV9fY29udGVudC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmFydGljbGVfX2F1dGhvci1tZXRhLWRldGFpbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hcnRpY2xlX19hdXRob3ItbWV0YS1kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmc6IDAgMDsgfSB9XG4gIC5hcnRpY2xlX19hdXRob3ItbWV0YS1kZXRhaWxzIC5hcnRpY2xlX19hdXRob3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjUpO1xuICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gICAgd2lkdGg6IDQuNjg3NXJlbTsgfVxuICAgIC5hcnRpY2xlX19hdXRob3ItbWV0YS1kZXRhaWxzIC5hcnRpY2xlX19hdXRob3IgaW1nIHtcbiAgICAgIHdpZHRoOiA0LjY4NzVyZW07IH1cbiAgLmFydGljbGVfX2F1dGhvci1tZXRhLWRldGFpbHMgLmFydGljbGVfX21ldGEtdHJhaWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICM1NDY3NzY7IH1cbiAgICAuYXJ0aWNsZV9fYXV0aG9yLW1ldGEtZGV0YWlscyAuYXJ0aWNsZV9fbWV0YS10cmFpbCAuc2VwYXJhdG9yIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW46IDAgMC4yNXJlbTsgfVxuICAgIC5hcnRpY2xlX19hdXRob3ItbWV0YS1kZXRhaWxzIC5hcnRpY2xlX19tZXRhLXRyYWlsIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmZlYXR1cmVkLWFydGljbGUtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZlYXR1cmVkLWFydGljbGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDQuNjg3NXJlbTsgfSB9XG4gIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBib3JkZXI6IDdweCBzb2xpZCAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODUsIDg1LCA4NSwgMC42KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTUzLCAxNTMsIDE1MywgMC41KTtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAyMi41cmVtO1xuICAgIHBhZGRpbmc6IDIuMzQzNzVyZW0gMS44NzVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5pcy1pZSAuZmVhdHVyZWQtYXJ0aWNsZS1jb250YWluZXIgLmZlYXR1cmVkLWFydGljbGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuZmVhdHVyZWQtYXJ0aWNsZS1jb250YWluZXIgLmZlYXR1cmVkLWFydGljbGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdOZXcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMC45Mzc1cmVtO1xuICAgICAgdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjVyZW07XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0M0IxMzA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZlYXR1cmVkLWFydGljbGUtY29udGFpbmVyIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgICAgbWluLWhlaWdodDogMjIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI3LjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmZlYXR1cmVkLWFydGljbGUtY29udGFpbmVyIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgICAgbWluLWhlaWdodDogMzVyZW07IH0gfVxuICAgIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtYXJ0aWNsZV9fYXV0aG9yIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTUzLCAxNTMsIDE1MywgMC41KTsgfVxuICAgICAgLmZlYXR1cmVkLWFydGljbGUtY29udGFpbmVyIC5mZWF0dXJlZC1hcnRpY2xlIC5mZWF0dXJlZC1hcnRpY2xlX19hdXRob3IgaW1nIHtcbiAgICAgICAgd2lkdGg6IDQuNjg3NXJlbTsgfVxuICAgIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuZmVhdHVyZWQtYXJ0aWNsZS1jb250YWluZXIgLmZlYXR1cmVkLWFydGljbGUgLmZlYXR1cmVkLWFydGljbGVfX3RpdGxlIGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZlYXR1cmVkLWFydGljbGUtY29udGFpbmVyIC5mZWF0dXJlZC1hcnRpY2xlIC5mZWF0dXJlZC1hcnRpY2xlX190aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtOyB9IH1cbiAgICAgIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtYXJ0aWNsZV9fdGl0bGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgd2lkdGg6IDIuNXJlbTsgfVxuICAgIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtYXJ0aWNsZV9fbWV0YS10cmFpbCB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmZlYXR1cmVkLWFydGljbGUtY29udGFpbmVyIC5mZWF0dXJlZC1hcnRpY2xlIC5mZWF0dXJlZC1hcnRpY2xlX19tZXRhLXRyYWlsIC5zZXBhcmF0b3Ige1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW46IDAgMC4zMTI1cmVtOyB9XG4gICAgICAuZmVhdHVyZWQtYXJ0aWNsZS1jb250YWluZXIgLmZlYXR1cmVkLWFydGljbGUgLmZlYXR1cmVkLWFydGljbGVfX21ldGEtdHJhaWwgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5hcmNoaXZlLXNlYXJjaC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYXJjaGl2ZS1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmFyY2hpdmUtc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDIxLjI1cmVtO1xuICAgIG1hcmdpbjogMC42MjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmFyY2hpdmUtc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtY29udGFpbmVyIHtcbiAgICAgICAgbWluLXdpZHRoOiAyMS4yNXJlbTsgfSB9XG4gICAgLmFyY2hpdmUtc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFyY2hpdmUtc2VhcmNoLWNvbnRhaW5lciBzZWxlY3QsIC5hcmNoaXZlLXNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjREREREREO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBjb2xvcjogIzU1NTU1NTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5oaXN0b3J5LXJvd3Mge1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oaXN0b3J5LXJvd3Mge1xuICAgICAgcGFkZGluZzogMCAwOyB9IH1cbiAgLmhpc3Rvcnktcm93cyAuaGlzdG9yeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oaXN0b3J5LXJvd3MgLmhpc3RvcnktaXRlbSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDkuMzc1cmVtOyB9IH1cbiAgICAuaGlzdG9yeS1yb3dzIC5oaXN0b3J5LWl0ZW0gLmhpc3RvcnktaXRlbV9feWVhciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5oaXN0b3J5LXJvd3MgLmhpc3RvcnktaXRlbSAuaGlzdG9yeS1pdGVtX195ZWFyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgZmxleDogMCAwIDQwJTtcbiAgICAgICAgICB3aWR0aDogNDAlOyB9XG4gICAgICAgICAgLmhpc3Rvcnktcm93cyAuaGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW1fX3llYXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2hpc3RvcnktdGltZWxpbmUtb3ZhbC5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAyLjYyNXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyLjkzNzVyZW07XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAgICAgLmhpc3Rvcnktcm93cyAuaGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW1fX3llYXI6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcmVwZWF0YWJsZS1oaXN0b3J5LWRhc2guanBnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgICAgICAgd2lkdGg6IDAuNDM3NXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA0LjA2MjVyZW07XG4gICAgICAgICAgICB0b3A6IDA7IH0gfVxuICAgICAgLmhpc3Rvcnktcm93cyAuaGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW1fX3llYXIgLmhpc3RvcnktaXRlbV9feWVhci1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAjNTQ2Nzc2O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5oaXN0b3J5LXJvd3MgLmhpc3RvcnktaXRlbSAuaGlzdG9yeS1pdGVtX195ZWFyIC5oaXN0b3J5LWl0ZW1fX3llYXItbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOC4xMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgLmhpc3Rvcnktcm93cyAuaGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW1fX3llYXIgLmhpc3RvcnktaXRlbV9feWVhci1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgICAuaGlzdG9yeS1yb3dzIC5oaXN0b3J5LWl0ZW0gLmhpc3RvcnktaXRlbV9fZGVzY3JpcHRpb24gcCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5oaXN0b3J5LXJvd3MgLmhpc3RvcnktaXRlbSAuaGlzdG9yeS1pdGVtX19kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cblxuLmhpc3Rvcnktb3V0cm8ge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oaXN0b3J5LW91dHJvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH0gfVxuICAuaGlzdG9yeS1vdXRybyAuaGlzdG9yeS1vdXRyb19faW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG4gICAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhpc3Rvcnktb3V0cm8gLmhpc3Rvcnktb3V0cm9fX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMy43NXJlbTsgfSB9XG4gICAgLmhpc3Rvcnktb3V0cm8gLmhpc3Rvcnktb3V0cm9fX2lubmVyIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmhpc3Rvcnktb3V0cm8gLmhpc3Rvcnktb3V0cm9fX2lubmVyIC5oaXN0b3J5LW91dHJvX19pbm5lci10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgJG9sZC16Zi1zaXplOiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvblByZXNzIHNldHRpbmdzLlxyXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiB2Ni40LjFcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIFBPRFcgQ3VzdG9tIFN0eWxlc1xyXG4kcHJveGltYS1ub3ZhLWZvbnQtZmFtaWx5ICAgICAgICAgICAgOiBcInByb3hpbWEtbm92YVwiICxzYW5zLXNlcmlmLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWw7XHJcbiRwcm94aW1hLW5vdmEtZm9udC13ZWlnaHQtbGlnaHQgICAgICA6IDMwMDtcclxuJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1yZWd1bGFyICAgIDogNDAwO1xyXG4kcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQgICAgICAgOiA3MDA7XHJcbiRwcm94aW1hLW5vdmEtZm9udC13ZWlnaHQtZXh0cmEtYm9sZCA6IDgwMDtcclxuXHJcbi8vIFBPRFcgQ29sb3Vyc1xyXG4kcG9kdy1vcmFuZ2UgICAgICAgIDogI0RDQUYwMTtcclxuJHBvZHcteWVsbG93ICAgICAgICA6ICNGQkU3MUM7XHJcbiRwb2R3LWdvbGQgICAgICAgICAgOiAjRENBRjAwO1xyXG4kcG9kdy1saWdodC1ibHVlICAgIDogIzc5QjNFMjtcclxuJHBvZHctZGFyay1ibHVlICAgICA6ICMyNjM2ODk7XHJcbiRwb2R3LWdyZWVuICAgICAgICAgOiAjQjlDNDAwO1xyXG4kcG9kdy1kYXJrLWdyZWVuICAgIDogIzQzQjEzMDtcclxuJHBvZHctcmVkICAgICAgICAgICA6ICNDQzJCMTc7XHJcbiRwb2R3LWxpZ2h0LWdyZXkgICAgOiAjRjNGM0YzO1xyXG4kcG9kdy1tZWRpdW0tZ3JleSAgIDogIzU0Njc3NjtcclxuJHBvZHctZGFya2VzdC1ncmV5ICA6ICM1NTU1NTU7XHJcbiRwb2R3LWJyb3duICAgICAgICAgOiAjN0Y1OTRCO1xyXG4kcG9kdy1icm9uemUgICAgICAgIDogI0IwODE0RDtcclxuJHBvZHctc2lsdmVyICAgICAgICA6ICNCQkJCQkI7XHJcbiRwb2R3LWdvbGQgICAgICAgICAgOiAjRDlDQTI0O1xyXG5cclxuJGRlZmF1bHQtc3BhY2luZyAgICA6IHJlbS1jYWxjKDE1KTtcclxuXHJcbi8vIFRhYmJhciBIZWlnaHRcclxuJHRhYmJhci1oZWlnaHQtc21sICAgICAgICAgIDogcmVtLWNhbGMoNjgpO1xyXG4kdGFiYmFyLWhlaWdodC1zbWwtc2VydmljZSAgOiByZW0tY2FsYygxMTUpO1xyXG4kdGFiYmFyLWhlaWdodC1tZWQtc2VydmljZSAgOiByZW0tY2FsYygxMzApO1xyXG5cclxuJGZvb3Rlci1saWdodC1ncmV5ICAgIDogI0Y3RjdGNztcclxuJGJvcmRlci1jb2xvdXIgICAgICAgIDogI0RERERERDtcclxuJGJvcmRlci1jb2xvdXItdG9wYmFyIDogI0VFRUVFRTtcclxuJHRhYmJhci1ncmV5ICAgICAgICAgIDogIzk2QTJBQjtcclxuJGhlcm8tb3ZlcmxheS1zbWwgICAgIDogIzk1OTU5NTtcclxuJGhlcm8tb3ZlcmxheS1scmcgICAgIDogI0JBQkFCQTtcclxuJGRhcmstb3ZlcmxheS1jb2xvdXIgIDogIzg4ODg4ODtcclxuXHJcbiRzZXJ2aWNlcy1jb2xvdXItcGFsZXR0ZTogKFxyXG4gIGJvb2tXaXphcmQ6ICRwb2R3LWdyZWVuLFxyXG4gIGJvb2tQcmludDogJHBvZHctZ3JlZW4sXHJcbiAgYm9va1ZhdWx0OiAkcG9kdy1saWdodC1ibHVlLFxyXG4gIGJvb2tHbG9iYWw6ICRwb2R3LXJlZCxcclxuICBib29rUHVibGlzaGVyOiAkcG9kdy1vcmFuZ2UsXHJcbiAgYm9va1B1Ymxpc2g6ICRwb2R3LW9yYW5nZSxcclxuICBib29rU2hvcDogJHBvZHctZGFyay1ibHVlLFxyXG4gIGJvb2tTZWxsOiAkcG9kdy1kYXJrLWJsdWUsXHJcbik7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTkyMCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgcHJpbWFyeTogJHBvZHctbWVkaXVtLWdyZXksXHJcbiAgc2Vjb25kYXJ5OiAkcG9kdy1tZWRpdW0tZ3JleSxcclxuICBzdWNjZXNzOiAjM2FkYjc2LFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNjYzRiMzcsXHJcbik7XHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbiRibGFjazogIzBhMGEwYTtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4kZGFyay1uYXYtY29sb3I6ICMyQzM4NDA7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJHBvZHctZGFya2VzdC1ncmV5O1xyXG4kYm9keS1mb250LWZhbWlseTogJHByb3hpbWEtbm92YS1mb250LWZhbWlseTtcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1yZWd1bGFyO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAwO1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XHJcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcclxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuICB4eHhsYXJnZTogMTkxMHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHgsXHJcbik7XHJcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xyXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgJ3NtYWxsJzogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0MiwgJ2xpbmUtaGVpZ2h0JzogMSwgJ21hcmdpbi10b3AnOiAwLCAnbWFyZ2luLWJvdHRvbSc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI2LCAnbGluZS1oZWlnaHQnOiAkaGVhZGVyLWxpbmVoZWlnaHQsICdtYXJnaW4tdG9wJzogJGhlYWRlci1tYXJnaW4tYm90dG9tLzEuMiwgJ21hcmdpbi1ib3R0b20nOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20vMS4yKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjAsICdsaW5lLWhlaWdodCc6IDEuNSwgJ21hcmdpbi10b3AnOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20sICdtYXJnaW4tYm90dG9tJzogJGhlYWRlci1tYXJnaW4tYm90dG9tKSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgsICdsaW5lLWhlaWdodCc6ICRoZWFkZXItbGluZWhlaWdodCwgJ21hcmdpbi10b3AnOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20sICdtYXJnaW4tYm90dG9tJzogJGhlYWRlci1tYXJnaW4tYm90dG9tKSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTgsICdsaW5lLWhlaWdodCc6ICRoZWFkZXItbGluZWhlaWdodCwgJ21hcmdpbi10b3AnOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20sICdtYXJnaW4tYm90dG9tJzogJGhlYWRlci1tYXJnaW4tYm90dG9tKSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYsICdsaW5lLWhlaWdodCc6ICRoZWFkZXItbGluZWhlaWdodCwgJ21hcmdpbi10b3AnOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20sICdtYXJnaW4tYm90dG9tJzogJGhlYWRlci1tYXJnaW4tYm90dG9tKVxyXG4gICksXHJcbiAgJ21lZGl1bSc6IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNTYsICdsaW5lLWhlaWdodCc6IDEsICdtYXJnaW4tdG9wJzogMCwgJ21hcmdpbi1ib3R0b20nOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20pLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyNiwgJ2xpbmUtaGVpZ2h0JzogJGhlYWRlci1saW5laGVpZ2h0LCAnbWFyZ2luLXRvcCc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbS8xLjIsICdtYXJnaW4tYm90dG9tJzogJGhlYWRlci1tYXJnaW4tYm90dG9tLzEuMiksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAxLjUsICdtYXJnaW4tdG9wJzogJGhlYWRlci1tYXJnaW4tYm90dG9tLCAnbWFyZ2luLWJvdHRvbSc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4LCAnbGluZS1oZWlnaHQnOiAkaGVhZGVyLWxpbmVoZWlnaHQsICdtYXJnaW4tdG9wJzogJGhlYWRlci1tYXJnaW4tYm90dG9tLCAnbWFyZ2luLWJvdHRvbSc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE4LCAnbGluZS1oZWlnaHQnOiAkaGVhZGVyLWxpbmVoZWlnaHQsICdtYXJnaW4tdG9wJzogJGhlYWRlci1tYXJnaW4tYm90dG9tLCAnbWFyZ2luLWJvdHRvbSc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2LCAnbGluZS1oZWlnaHQnOiAkaGVhZGVyLWxpbmVoZWlnaHQsICdtYXJnaW4tdG9wJzogJGhlYWRlci1tYXJnaW4tYm90dG9tLCAnbWFyZ2luLWJvdHRvbSc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSlcclxuICApLFxyXG4gICdsYXJnZSc6IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNzIsICdsaW5lLWhlaWdodCc6IDEsICdtYXJnaW4tdG9wJzogMCwgJ21hcmdpbi1ib3R0b20nOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20pLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMiwgJ2xpbmUtaGVpZ2h0JzogJGhlYWRlci1saW5laGVpZ2h0LCAnbWFyZ2luLXRvcCc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSwgJ21hcmdpbi1ib3R0b20nOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20pLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMiwgJ2xpbmUtaGVpZ2h0JzogJGhlYWRlci1saW5laGVpZ2h0LCAnbWFyZ2luLXRvcCc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSwgJ21hcmdpbi1ib3R0b20nOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20pLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCwgJ2xpbmUtaGVpZ2h0JzogJGhlYWRlci1saW5laGVpZ2h0LCAnbWFyZ2luLXRvcCc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSwgJ21hcmdpbi1ib3R0b20nOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20pLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxOCwgJ2xpbmUtaGVpZ2h0JzogJGhlYWRlci1saW5laGVpZ2h0LCAnbWFyZ2luLXRvcCc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSwgJ21hcmdpbi1ib3R0b20nOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20pLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxOCwgJ2xpbmUtaGVpZ2h0JzogJGhlYWRlci1saW5laGVpZ2h0LCAnbWFyZ2luLXRvcCc6ICRoZWFkZXItbWFyZ2luLWJvdHRvbSwgJ21hcmdpbi1ib3R0b20nOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20pXHJcbiAgKVxyXG4pO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS41O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvdXI7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICR3aGl0ZTtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6IDRweDtcclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDFyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogMC41cmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gIHNtYWxsOiAxLjVlbSxcclxuICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDMyMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBsaWdodGVuKCRkYXJrLW5hdi1jb2xvciwgNSUpO1xyXG5cclxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xyXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xyXG5cclxuLy8gMjAuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kaW5wdXQtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcclxuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjEuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMy4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XHJcblxyXG4vLyAyNC4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XHJcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XHJcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xyXG5cclxuLy8gMjUuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRvZmZjYW52YXMtc2l6ZTogMjgwcHg7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHg7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuXHJcbi8vIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcclxuICBkb3duLFxyXG4gIHVwLFxyXG4gIHJpZ2h0LFxyXG4gIGxlZnRcclxuKTtcclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xyXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtZGlzcGxheTogKFxyXG4gIGlubGluZSxcclxuICBpbmxpbmUtYmxvY2ssXHJcbiAgYmxvY2ssXHJcbiAgdGFibGUsXHJcbiAgdGFibGUtY2VsbFxyXG4pO1xyXG5cclxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XHJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxyXG4gIGRlY2ltYWwsXHJcbiAgbG93ZXItYWxwaGEsXHJcbiAgbG93ZXItbGF0aW4sXHJcbiAgbG93ZXItcm9tYW4sXHJcbiAgdXBwZXItYWxwaGEsXHJcbiAgdXBwZXItbGF0aW4sXHJcbiAgdXBwZXItcm9tYW5cclxuKTtcclxuXHJcbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcclxuICB2aXNpYmxlLFxyXG4gIGhpZGRlbixcclxuICBzY3JvbGxcclxuKTtcclxuXHJcbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKTtcclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XHJcblxyXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gIHdpZHRoLFxyXG4gIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICBvdmVybGluZSxcclxuICB1bmRlcmxpbmUsXHJcbiAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gIGxvd2VyY2FzZSxcclxuICB1cHBlcmNhc2UsXHJcbiAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gNDguIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA0OS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWV4cGFuZC1tYXg6IDY7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gNTIuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTMuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyA1NC4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XHJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDU1LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kdG9wYmFyLXBhZGRpbmc6IDByZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogMzBweCxcclxuICBtZWRpdW06IDQwcHhcclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG4gIEBlbHNlaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxuICBAZWxzZWlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbiAgQGVsc2VpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIH1cblxuICAuZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lci1wYWRkaW5nO1xuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gI3skLXpmLXNpemV9LXNocmluaywgPiAjeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+ICN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JC16Zi1zaXplfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+ICN7JC16Zi1zaXplfS1zaHJpbmssID4gI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAjeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKVxuICB9XG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcblxuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lclxuKSB7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIEFkZCBwYWRkaW5nIHRvIHlvdXIgY29udGFpbmVyLCB1cCB0byBhIHBhcnRpY3VsYXIgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lci1wYWRkaW5nKFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsXG4gICRtYXg6ICRncmlkLWNvbnRhaW5lci1tYXhcbikge1xuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJHBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHBhZGRpbmcpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSAvIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSAvIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRwYWRkaW5nKSA9PSAnbnVtYmVyJykge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoJHBhZGRpbmcpIC8gMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkcGFkZGluZykgLyAyO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heCkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICAvLyBJZiBndXR0ZXJzID0gbWFwXG4gICAgQGlmKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgICAvLyBJZiAkZ3V0dGVycyBtYXAgaGFzIGEga2V5ID0gJGJyZWFrcG9pbnQsIG91dHB1dCB0aGUgdmFsdWVcbiAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGd1dHRlcnMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIElmIG5vdCBhIG1hcFxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVyLXR5cGU6ICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbiwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICB9XG5cbiAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2Vcbikge1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgfSBAZWxzZSB7XG4gICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICB9XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcclxuXHJcblxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG5AaW1wb3J0ICdtb3Rpb24tdWknO1xyXG5cclxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5cclxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcclxuXHJcbi8qXHJcbiAgTXkgY3VzdG9tIHN0eWxlczpcclxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXHJcbiovXHJcblxyXG4vLyBHbG9iYWxcclxuQGltcG9ydCBcImdsb2JhbC9fYWNjZXNzaWJpbGl0eVwiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsL21peGluc1wiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsL3dwLWFkbWluXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWwvd3Atb3ZlcnJpZGVzXCI7XHJcbkBpbXBvcnQgXCJnbG9iYWwvYmFzZS10eXBvZ3JhcGh5XCI7XHJcbkBpbXBvcnQgXCJnbG9iYWwvcGFnZS1zdHlsZXNcIjtcclxuXHJcbi8vIE1vZHVsZXNcclxuQGltcG9ydCBcIm1vZHVsZXMvbmF2aWdhdGlvblwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9mb290ZXJcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvdGFiYmFyXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2hlYWRlci1nbG9iYWxcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvdG9wLWJhclwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9tZWdhLW1lbnVcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvcHJlaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2Z1bGxzY3JlZW4tbmF2aWdhdGlvblwiO1xyXG5cclxuLy8gQ29tcG9uZW50c1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N3aXBlci1zdHlsZXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvZnRkLXNoYXJlXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpZGViYXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnaW5hdGlvblwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250YWN0LXVzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tc3R5bGVzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tdmFsaWRhdGlvbi1zdHlsZXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlYXJjaFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9tb2RhbFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9hbmltYXRlXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbG91ci1vdmVycmlkZXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvdXRpbGl0aWVzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ByaW50LXN0eWxlc2hlZXRcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvaW1hZ2Utc2xpZGVyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jsb2NrcXVvdGVcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvbm90aWNlLW1lc3NhZ2VcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvdGFibGUtc3R5bGVzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3JlYWN0LXNlYXJjaFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy92aXNpb25zLWJsb2NrXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpdGUtY3RhLWxpbmtzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xhenlsb2FkXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2lzLWllXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2lzLXNhZmFyaVwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb29raWUtbm90aWNlXCI7XHJcblxyXG4vLyBIb21lXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hvbWUvaG9tZS1zbGlkZXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvaG9tZS9ob21lLXNlcnZpY2VzLXNlY3Rpb25cIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvaG9tZS9ob21lLWxhdGVzdC1mZWVkXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hvbWUvaG9tZS1sYXRlc3QtdHdlZXRzLXNsaWRlclwiO1xyXG5cclxuLy8gUmVzb3VyY2VzXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Jlc291cmNlL3Jlc291cmNlLWNhdGVnb3JpZXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvcmVzb3VyY2UvcmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxzXCI7XHJcblxyXG4vLyBFdmVudFxyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9ldmVudC9ldmVudC1zaW5nbGVcIjtcclxuXHJcbi8vIENvbnRlbnQgQnVpbGRlclxyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvZ2xvYmFsLXJvdy1zdHlsZVwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvYmxvY2stYW5pbWF0aW9uc1wiO1xyXG4vLyBIZXJvIENvbnRlbnRcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL2hlcm8tY29udGVudC9oZXJvLWJhbm5lclwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvaGVyby1jb250ZW50L2hlcm8tbGFuZGluZy1iYW5uZXJcIjtcclxuLy8gTWFpbiBDb250ZW50XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvdHdvLWNvbHVtbi10ZXh0LWFyZWFcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9jb25zdHJhaW5lZC10ZXh0LWFyZWFcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC90ZXh0LXdpdGgtaW1hZ2VcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9wb3J0cmFpdC1jYXJkc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvbWFpbi1jb250ZW50L2xhbmRzY2FwZS1jYXJkc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvbWFpbi1jb250ZW50L3JlbGF0ZWQtc2VydmljZXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9mdWxsd2lkdGgtc3RhdGlzdGljcy1wYW5lbFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvbWFpbi1jb250ZW50L3Rlc3RpbW9uaWFsLWJsb2NrXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvdmlkZW8td2l0aC10ZXh0XCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvc2VydmljZS1mdWxsd2lkdGgtY2hpbGQtcGFnZS1saW5rXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvcHJvY2Vzcy1kaWFncmFtXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvcHJvZHVjdC1saXN0XCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9tYWluLWNvbnRlbnQvZ2FsbGVyeS1zbGlkZXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9zZXJ2aWNlLWJhbm5lclwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50LWJ1aWxkZXIvbWFpbi1jb250ZW50L2Z1cnRoZXItaW5mb3JtYXRpb25cIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9ib29rLWNvdmVycy1zbGlkZXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudC1idWlsZGVyL21haW4tY29udGVudC9sYW5kaW5nLXN0cmlwXCI7XHJcblxyXG4vLyBTZXJ2aWNlIFNwZWNpZmljXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9zZXJ2aWNlL3NlcnZpY2UtaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnQtYnVpbGRlci9zZXJ2aWNlL3NlcnZpY2UtY29sb3VyLW92ZXJyaWRlXCI7XHJcblxyXG4vLyBUZWFtXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RlYW0vdGVhbS1pdGVtXCI7XHJcblxyXG5cclxuLy9BcnRpY2xlc1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9hcnRpY2xlL2FydGljbGVcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvYXJ0aWNsZS9hcnRpY2xlLW1ldGEtdHJhaWxcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvYXJ0aWNsZS9hcnRpY2xlLWZlYXR1cmVkXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FydGljbGUvYXJjaGl2ZS1zZWFyY2gtY29udGFpbmVyXCI7XHJcblxyXG4vLyBIaXN0b3J5XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hpc3RvcnkvaGlzdG9yeS1yb3dzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hpc3RvcnkvaGlzdG9yeS1vdXRyb1wiO1xyXG5cclxuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXHJcbi5zY3JlZW4tcmVhZGVyLXRleHQge1xyXG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IDFweDtcclxuICB3aWR0aDogMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyMTc1OWI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGxlZnQ6IDVweDtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0b3A6IDVweDtcclxuICB3aWR0aDogYXV0bztcclxuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXHJcbn1cclxuIiwiLy8gRml4IHRoZSBpc3N1ZSB3aGVyZSB0aGUgV1AgYWRtaW4tYmFyIG92ZXJsYXBzIHRoZSBtb2JpbGUgbWVudVxyXG4jd3BhZG1pbmJhciB7XHJcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcclxuYm9keS5hZG1pbi1iYXIge1xyXG4gIC8vIE9mZnNldCBzdGlja3kgdG9wIGJhclxyXG4gICYuZi10b3BiYXItZml4ZWQge1xyXG4gICAgLnN0aWNreS5maXhlZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gT2Zmc2V0IG1vYmlsZSBvZmYtY2FudmFzIG1lbnVcclxuICAmLm9mZmNhbnZhcyB7XHJcbiAgICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcclxuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgzKSB7XHJcbiAgICAgICAgdG9wOiByZW0tY2FsYygzMik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgY29sb3I6ICM5OTk7XHJcbiAgcGFkZGluZzogMC4yNXJlbSAwO1xyXG59XHJcblxyXG5wLndwLWNhcHRpb24tdGV4dHtcclxuICBmb250LXNpemU6OTAlO1xyXG4gIGNvbG9yOiAjNjY2O1xyXG4gIHBhZGRpbmc6cmVtLWNhbGMoMTApIDA7XHJcbn1cclxuXHJcbi5hbGlnbmxlZnQge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uYWxpZ25yaWdodCB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5hbGlnbmNlbnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKiBBY2NvcmRpb24gQ1NTIGZvciB3aGl0ZSBkcm9wZG93biAqL1xyXG4uYWNjb3JkaW9uIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIG1hcmdpbjogMTBweDtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMXZ3O1xyXG59XHJcblxyXG4uYWNjb3JkaW9uRHJvcCB7XHJcbiAgcGFkZGluZzogMHB4IDMwcHg7XHJcbiAgZm9udC1zaXplOiAxdnc7XHJcbn1cclxuXHJcbjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxuIiwiaDEge1xyXG4gIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWV4dHJhLWJvbGQ7IC8vIENoYW5nZSB0byBleHRyYSBib2xkXHJcbn1cclxuXHJcbmgyLCBoMywgaDQge1xyXG4gIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbn1cclxuXHJcbi8vIERpc2FibGUgcG9pbnRlciBldmVudHMgb24gZGVza3RvcFxyXG5hW2hyZWZePVwidGVsOlwiXSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGluZy0tbm8tbWFyZ2luIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG51bCBsaSB1bCB7XHJcbiAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZztcclxuICBsaSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nLzI7XHJcbiAgfVxyXG59XHJcbiIsImJvZHkgLmNvbnRhaW5lciB7XHJcbiAgcGFkZGluZy10b3A6ICR0YWJiYXItaGVpZ2h0LXNtbDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICB9XHJcbn1cclxuXHJcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXNlcnZpY2UtdGVtcGxhdGUgLmNvbnRhaW5lciB7XHJcbiAgcGFkZGluZy10b3A6ICR0YWJiYXItaGVpZ2h0LXNtbC1zZXJ2aWNlO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHRhYmJhci1oZWlnaHQtbWVkLXNlcnZpY2U7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gIH1cclxufVxyXG4iLCIvLyBOYXZpZ2F0aW9uIGJyZWFrcG9pbnRzXHJcbi5tb2JpbGUtbWVudSxcclxuLnNpdGUtdGl0bGUtYmFyIHtcclxuICBAaW5jbHVkZSBoaWRlLWZvcihtZWRpdW0pO1xyXG59XHJcblxyXG4uZGVza3RvcC1tZW51LFxyXG4uc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWxlZnQge1xyXG4gIEBpbmNsdWRlIHNob3ctZm9yKG1lZGl1bSk7XHJcbn1cclxuXHJcbi8vIFNpdGUgdGl0bGVcclxuLnNpdGUtZGVza3RvcC10aXRsZSBhIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLy8gTW9iaWxlIG1lbnVcclxuLm1vYmlsZS1tZW51IHtcclxuICBkaXNwbGF5OiBub25lOyAvLyBwcmV2ZW50cyByZXBhaW50IGNhdXNlZCBieSBKUyBoaWRpbmcgbWVudSBvbmxvYWRcclxufVxyXG5cclxuLm9mZi1jYW52YXMge1xyXG4gID4gdWwubWVudSB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWVudSAuYWN0aXZlID4gYSB7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cclxuXHJcbn1cclxuXHJcbi50aXRsZS1iYXItdGl0bGUge1xyXG4gIGEge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgY29sb3I6ICNCOUI5Qjk7XHJcbiAgfVxyXG59XHJcblxyXG4ubW9iaWxlLW1lbnUsXHJcbi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IHtcclxuXHJcbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZGFyay1uYXYtY29sb3IsIDUlKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRhYmxldCBhbmQgZGVza3RvcCBtZW51XHJcblxyXG4udG9wLWJhciB7XHJcblxyXG4gIC50b3AtYmFyLXRpdGxlIGEge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgY29sb3I6ICNCOUI5Qjk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS44O1xyXG4gIH1cclxuXHJcbiAgLm1lbnUgYSB7XHJcbiAgICBjb2xvcjogI2U2ZTZlNjtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgJjpob3Zlcjpub3QoLmJ1dHRvbikge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI1MjVEO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1lbnUgLmFjdGl2ZSA+IGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XHJcblxyXG4gIC5tZW51PmxpOm5vdCgubWVudS10ZXh0KT5hIHsgcGFkZGluZzogMXJlbTsgfVxyXG4gIC5tZW51IGxpOm5vdCg6bGFzdC1jaGlsZCkgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNGU0ZTRlOyB9XHJcblxyXG4gIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHsgYm9yZGVyOiAwOyB9XHJcbiAgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYSB7IHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cclxuICAuZHJvcGRvd24ubWVudSAuaGFzLXN1Ym1lbnUuaXMtZG93bi1hcnJvdyA+IGE6OmFmdGVyIHsgYm9yZGVyOiAwOyB9XHJcbiAgLmRyb3Bkb3duLm1lbnU6Zmlyc3QtY2hpbGQgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG4uc2l0ZS1uYXZpZ2F0aW9uIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgIHBhZGRpbmc6IDA7IC8vIHByZXZlbnRzIGNvbnRhaW5lciB2aXNpYmlsaXR5IG9uIHNtYWxsIHNjcmVlbnNcclxuICB9XHJcbn1cclxuXHJcbi8vIFdQIHBvc3QgbmF2aWdhdGlvblxyXG4ucG9zdC1uYXZpZ2F0aW9uIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLm5hdi1wcmV2aW91cyB7XHJcbiAgZmxvYXQ6bGVmdDtcclxufVxyXG5cclxuLm5hdi1uZXh0IHtcclxuICBmbG9hdDpyaWdodDtcclxufVxyXG4iLCIuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgLmZvb3Rlci1mdXJ0aGVyLWluZm8ge1xyXG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XHJcbiAgICBAaW5jbHVkZSBoaWRlLWZvcihtZWRpdW0pO1xyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMTQpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0ZDRkNGO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgzcHggLTUxcHg7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYygxMCk7XHJcbiAgICAgIH1cclxuICAgICAgJi5leHBhbmRlZCB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk1cHggLTUxcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5mb290ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1saWdodC1ncmV5O1xyXG4gICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyLjUgMCAwO1xyXG4gICAgfVxyXG4gICAgaHIge1xyXG4gICAgICBtYXJnaW46ICRkZWZhdWx0LXNwYWNpbmcgMDtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW46ICRkZWZhdWx0LXNwYWNpbmcqMiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhOmhvdmVyIHtcclxuICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1tZW51IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogJGRlZmF1bHQtc3BhY2luZyoxLjU7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIC5mb290ZXItbWVudV9fc2VydmljZS1saW5rcyB7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmZvb3Rlci1tZW51X19ibG9jayB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoxLjU7XHJcbiAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuZm9vdGVyLW1lbnVfX3NlcnZpY2UtbGlua3Mge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMS41O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVyLW1lbnVfX3NlcnZpY2UtbGlua3MtLWJvb2tXSVpBUkQge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcG9kdy1ncmVlbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzLS1ib29rVkFVTFQge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcG9kdy1saWdodC1ibHVlO1xyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzLS1ib29rR0xPQkFMIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHBvZHctcmVkO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1tZW51X19zZXJ2aWNlLWxpbmtzLS1ib29rUFVCTElTSEVSIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHBvZHctb3JhbmdlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVyLW1lbnVfX3NlcnZpY2UtbGlua3MtLWJvb2tTSE9QIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHBvZHctZGFyay1ibHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1hZGRyZXNzIHtcclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgfVxyXG4gICAgICBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgLmZvb3Rlci1hZGRyZXNzX19kZXRhaWxzIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc29jaWFsLWljb25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogJGRlZmF1bHQtc3BhY2luZy8yO1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC44O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc29jaWFsLWljb25zLS1mYWNlYm9vayB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMjQ1LCAtMjksIDM3LCAzNywgaW5saW5lLWJsb2NrKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNvY2lhbC1pY29ucy0tdHdpdHRlciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMjg0LCAtMjksIDM3LCAzNywgaW5saW5lLWJsb2NrKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNvY2lhbC1pY29ucy0tbGlua2VkaW4ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTIwNiwgLTI5LCAzNywgMzcsIGlubGluZS1ibG9jayk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICAuZm9vdGVyLWRldGFpbHMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgcGFkZGluZy10b3A6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIHAsIGxpIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWRldGFpbF9fcGFnZS1saW5rcyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWRldGFpbHNfX2JhZGdlcyB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIC5mb290ZXItYmFkZ2Uge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQ2KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcclxuICB9XHJcbiAgLmdmb3JtX3dyYXBwZXIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIC52YWxpZGF0aW9uX2Vycm9yIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuZ2Zvcm1fZm9vdGVyIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIC5idXR0b24ge1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygyNikgcmVtLWNhbGMoMTApIHJlbS1jYWxjKDYpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb290ZXItZmllbGRzZXQge1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgICAmLnZpc2libGUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ2Zvcm1fZmllbGRzIHtcclxuICAgICAgLmdmaWVsZCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICAuZ2lucHV0X2NvbXBsZXgge1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0OCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9uYW1lIHtcclxuICAgICAgICAgIGxhYmVsLCBzZWxlY3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaG9tZSAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZztcclxufVxyXG4iLCJAbWl4aW4gcG9kdy1zcHJpdGUoJGJhY2tncm91bmQtcG9zaXRpb24teCwgJGJhY2tncm91bmQtcG9zaXRpb24teSwgJHdpZHRoLCAkaGVpZ2h0LCAkZGlzcGxheSkge1xyXG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xyXG4gIGhlaWdodDogcmVtLWNhbGMoJGhlaWdodCk7XHJcbiAgd2lkdGg6IHJlbS1jYWxjKCR3aWR0aCk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BvZHctc3ByaXRlLnN2Z1wiKTtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAjeyRiYWNrZ3JvdW5kLXBvc2l0aW9uLXh9cHggI3skYmFja2dyb3VuZC1wb3NpdGlvbi15fXB4O1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogNDgycHggNjZweDtcclxufVxyXG5cclxuQG1peGluIHBvZHctc2VydmljZS1idXR0b24tYXJyb3dzKCRzZXJ2aWNlLXR5cGUpe1xyXG4gIEBpZiAkc2VydmljZS10eXBlID09IFwiYm9va1dpemFyZFwiIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwM3B4IC0yOXB4O1xyXG4gICAgfVxyXG4gIH0gIEBlbHNlIGlmICRzZXJ2aWNlLXR5cGUgPT0gXCJib29rVmF1bHRcIiB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExNXB4IC0yOXB4O1xyXG4gICAgfVxyXG4gIH0gIEBlbHNlIGlmICRzZXJ2aWNlLXR5cGUgPT0gXCJib29rR2xvYmFsXCIge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjdweCAtMjlweDtcclxuICAgIH1cclxuICB9ICBAZWxzZSBpZiAkc2VydmljZS10eXBlID09IFwiYm9va1B1Ymxpc2hlclwiIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA5cHggLTI5cHg7XHJcbiAgICB9XHJcbiAgfSAgQGVsc2UgaWYgJHNlcnZpY2UtdHlwZSA9PSBcImJvb2tTaG9wXCIge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzNweCAtMjlweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwb2R3LWdyZWVuLXN0cmlwLXN0eWxlKCkge1xyXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDgpO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0IxMzA7XHJcbn1cclxuIiwiLnRhYmJhci1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICB6LWluZGV4OiAxMztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMjA3LCAyMDcsIDIwNywgMC41KTtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlLWluLW91dDtcclxuICAuc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuICBAaW5jbHVkZSBoaWRlLWZvcihsYXJnZSB1cCk7XHJcbiAgJi5hdC10b3Age1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbiAgJi5zY3JvbGxlZCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMnB4KTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMycHgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc2VydmljZS1oZWFkZXIge1xyXG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC50YWJiYXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMDtcclxuICAgIC50YWJiYXJfX2xvZ28ge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxNTApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzgwcHgpIHtcclxuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxODApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYmJhcl9fbWVudSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xyXG4gICAgICAubWVudS10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkdGFiYmFyLWdyZXk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJiYXJfX3NlYXJjaCB7XHJcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkobWVkaXVtKTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgLmlucHV0LWdyb3VwLWZpZWxkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcG9kdy1saWdodC1ncmV5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNCkgIWltcG9ydGFudDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDcyMHB4KSB7XHJcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjUwKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYmJhcl9fbGlua3Mge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYpO1xyXG4gICAgfVxyXG4gICAgLnRhYmJhcl9fcXVvdGUtbGluaywgLnRhYmJhcl9fYWNjb3VudC1saW5rLCAudGFiYmFyX19tZW51IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgY29sb3I6ICR0YWJiYXItZ3JleTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzgwcHgpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogJGRlZmF1bHQtc3BhY2luZy8yO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDgwcHgpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYmJhcl9fYWNjb3VudC1saW5rIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg0MDBweCBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAudGFiYmFyX19hY2NvdW50LWljb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC01MSwgLTQzLCAyMywgMjMsIGlubGluZS1ibG9jayk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJiYXJfX3F1b3RlLWxpbmsge1xyXG4gICAgICAudGFiYmFyX19xdW90ZS1pY29uIHtcclxuICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMjYsIC00MywgMjMsIDIzLCBpbmxpbmUtYmxvY2spO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1vYmlsZS1tZW51LXRyaWdnZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgI25hdi1pY29uIHtcclxuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIHRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcclxuICAgICAgc3Bhbjpub3QoLm1lbnUtdGV4dCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJiYXItZ3JleTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgdG9wOiByZW0tY2FsYygwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMiksICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgIHRvcDogcmVtLWNhbGMoOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAgIHRvcDogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLm9wZW4ge1xyXG4gICAgICAgIHNwYW46bm90KC5tZW51LXRleHQpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICM5NmEyYWI7XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYm9keS5tZW51LW9wZW5lZCB7XHJcbiAgLnRhYmJhci1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodC1zbWw7XHJcbiAgfVxyXG59XHJcbiIsIi50YWJiYXIgLnRhYmJhcl9fc2VhcmNoLCAucHJlaGVhZGVyIC5wcmVoZWFkZXJfX3NlYXJjaC1ncm91cCB7XHJcbiAgLmlucHV0LWdyb3VwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAuaW5wdXQtZ3JvdXAtZmllbGQge1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjkpO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwMCk7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNSk7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogcmVtLWNhbGMoMik7XHJcbiAgICAgICYuaW5wdXQtZmlsbGVkIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMTIxLCAtMjksIDUsIDksIGlubGluZS1ibG9jayk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoNSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTE0MCwgLTQ4LCAxMywgMTMsIGlubGluZS1ibG9jayk7XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi50b3AtYmFyLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDk5O1xyXG4gIEBpbmNsdWRlIGhpZGUtZm9yKG1lZGl1bSBkb3duKTtcclxuICAudG9wLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAmLnN0aWNreS5pcy1zdHVjayB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMjA3LCAyMDcsIDIwNywgMC41KTtcclxuICAgICAgLmhlYWRlci1sb2dvIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMCAwLjdyZW07XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNjApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubWVudSB7XHJcbiAgICAgICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Om5vdCguaXMtZHJvcGRvd24tc3VibWVudS1pdGVtKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI1KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5zdWJtZW51IHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRkZWZhdWx0LXNwYWNpbmcvMjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nLzI7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWxvZ28ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC01KTtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg3MCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3VyLXRvcGJhcjtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgZmxleDogMSAwIGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgJi5tZW51LWl0ZW0tLW5ldy1iYWRnZSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg3MCkgIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnbmV3JztcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9kdy1ncmVlbi1zdHJpcC1zdHlsZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0LmlzLWFjdGl2ZSA+IGEge1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYSB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC0xMjEsIC0yOSwgNSwgOSwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Om5vdCguaXMtZHJvcGRvd24tc3VibWVudS1pdGVtKSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDExKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTY5LCAtMzQsIDksIDUsIGlubGluZS1ibG9jayk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCwgb3BhY2l0eSAuMXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nIDA7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCR3aGl0ZSwgMSUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvdXItdG9wYmFyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCgubWVudS10ZXh0KSA+IGEge1xyXG4gICAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyLjUgcmVtLWNhbGMoOCk7XHJcbiAgICAgICAgICBjb2xvcjogJHBvZHctbWVkaXVtLWdyZXk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMi41IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyLjUgJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1Ym1lbnUge1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgyMDcsIDIwNywgMjA3LCAwLjUpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCwgb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0KTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZy8yICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHdoaXRlLCAxJSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWVudSAubWVudS1pdGVtIHtcclxuICAmLm1lbnUtaXRlbS0tYm9va0dsb2JhbCB7XHJcbiAgICA+IGEge1xyXG4gICAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1yZWd1bGFyICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkcG9kdy1yZWQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5tZW51LWl0ZW0tLWJvb2tWYXVsdCB7XHJcbiAgICA+IGEge1xyXG4gICAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1yZWd1bGFyICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkcG9kdy1saWdodC1ibHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubWVudS1pdGVtLS1ib29rV2l6YXJkIHtcclxuICAgID4gYSB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LXJlZ3VsYXIgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRwb2R3LWdyZWVuICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubWVudS1pdGVtLS1ib29rUHVibGlzaGVyIHtcclxuICAgID4gYSB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LXJlZ3VsYXIgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRwb2R3LW9yYW5nZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLm1lbnUtaXRlbS0tYm9va1Nob3Age1xyXG4gICAgPiBhIHtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRwcm94aW1hLW5vdmEtZm9udC13ZWlnaHQtcmVndWxhciAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJHBvZHctZGFyay1ibHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IHtcclxuICAudG9wLWJhci1jb250YWluZXIge1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgyMDcsIDIwNywgMjA3LCAwLjUpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjM7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNZWdhIE1lbnUgT3ZlcnJpZGVzXHJcbi50b3AtYmFyLWNvbnRhaW5lciAjbWVnYS1tZW51LXdyYXAtd29yZHByZXNzLW1lbnUubWVnYS1tZW51LXdyYXAge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgI21lZ2EtbWVudS13b3JkcHJlc3MtbWVudS5tZWdhLW1lbnUubWF4LW1lZ2EtbWVudSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIGxpLm1lZ2EtbWVudS1mbHlvdXQgdWwubWVnYS1zdWItbWVudSB7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMjApOyAvL3JlZHVjZWQgdG8gZml4IHNjcm9sbCBpc3N1ZVxyXG4gICAgfVxyXG5cclxuICAgID4gbGkubWVnYS1tZW51LWl0ZW0ge1xyXG4gICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG91ci10b3BiYXI7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubWVnYS10b2dnbGUtb24sICYubWVnYS1jdXJyZW50LW1lbnUtaXRlbSB7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkd2hpdGUsIDElKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tZWdhLW1lbnUtbGluayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkd2hpdGUsIDElKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uZXctYmFkZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvZHctZ3JlZW4tc3RyaXAtc3R5bGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gYS5tZWdhLW1lbnUtbGluayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMi41IHJlbS1jYWxjKDgpO1xyXG4gICAgICAgIGNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCR3aGl0ZSwgMSUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMi41IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMi41ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWVnYS1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgYm90dG9tOiByZW0tY2FsYygxMSk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtNjksIC0zNCwgOSwgNSwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IC4xcyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gLm1lZ2Etc3ViLW1lbnUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMjA3LCAyMDcsIDIwNywgMC41KTtcclxuXHJcbiAgICAgICAgLm1lZ2EtYmxvY2tfX2d1aWRlLXdyYXAge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEzMDBweCkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5tZWdhLWJsb2NrX19ndWlkZS1pbWFnZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTMwMHB4KSB7XHJcbiAgICAgICAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDkwKTtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgIGZsZXg6IDAgMCByZW0tY2FsYygxMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLm1lZ2EtYmxvY2tfX2d1aWRlLWRldGFpbHMge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMzAwcHgpIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lZ2EtbWVudS1yb3cge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgICA+IC5tZWdhLXN1Yi1tZW51IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubWVnYS1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmN0YS1ibG9jay1jb2x1bW4ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbGlnaHQtZ3JleTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAubWVnYS1ibG9jay10aXRsZSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNSk7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGE6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLm1lZ2EtYmxvY2stdGl0bGVfX3N1YiB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5tZW51LWJsb2NrLXRpdGxlLS1ib29rUHVibGlzaGVyLCAmLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tXaXphcmQsICYubWVudS1ibG9jay10aXRsZS0tYm9va1ZhdWx0LCAmLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tHbG9iYWwsICYubWVudS1ibG9jay10aXRsZS0tYm9va1Nob3Age1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2UtbG9nb3Mvc2VydmljZS1jaXJjbGUtY29sb3VyLS1ib29rUHVibGlzaGVyLnN2Z1wiKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubWVudS1ibG9jay10aXRsZS0tYm9va1B1Ymxpc2hlciBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwb2R3LW9yYW5nZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLm1lbnUtYmxvY2stdGl0bGUtLWJvb2tXaXphcmQge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJHBvZHctZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VydmljZS1sb2dvcy9zZXJ2aWNlLWNpcmNsZS1jb2xvdXItLWJvb2tXaXphcmQuc3ZnXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5tZW51LWJsb2NrLXRpdGxlLS1ib29rVmF1bHQge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJHBvZHctbGlnaHQtYmx1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZXJ2aWNlLWxvZ29zL3NlcnZpY2UtY2lyY2xlLWNvbG91ci0tYm9va1ZhdWx0LnN2Z1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubWVudS1ibG9jay10aXRsZS0tYm9va0dsb2JhbCB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkcG9kdy1yZWQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VydmljZS1sb2dvcy9zZXJ2aWNlLWNpcmNsZS1jb2xvdXItLWJvb2tHbG9iYWwuc3ZnXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5tZW51LWJsb2NrLXRpdGxlLS1ib29rU2hvcCB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkcG9kdy1kYXJrLWJsdWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VydmljZS1sb2dvcy9zZXJ2aWNlLWNpcmNsZS1jb2xvdXItLWJvb2tTaG9wLnN2Z1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lZ2EtYmxvY2tfX2lubmVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubWVnYS1tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIC5tZWdhLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LWNoaWxkID4gLm1lZ2Etc3ViLW1lbnUge1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLnByZWhlYWRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgcGFkZGluZzogcmVtLWNhbGMoNykgMDtcclxuICBAaW5jbHVkZSBoaWRlLWZvcihtZWRpdW0gZG93bik7XHJcbiAgLnByZWhlYWRlcl9fbWVzc2FnZSB7XHJcbiAgICBwIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRwb2R3LW1lZGl1bS1ncmV5O1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnByZWFkZXJfX3NlYXJjaC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNik7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2KTtcclxuICAgICAgbWFyZ2luLWxlZnQ6ICRkZWZhdWx0LXNwYWNpbmcvMjtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uLS1wdWJsaXNoaW5nLWd1aWRlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctb3JhbmdlO1xyXG4gICAgICBAaW5jbHVkZSBoaWRlLWZvcigxNTIwcHggZG93bik7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcG9kdy1vcmFuZ2UsIDUlKTtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICByaWdodDogcmVtLWNhbGMoNyk7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTI5OCwgLTQsIDIxLCAxNywgaW5saW5lLWJsb2NrKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi0tc2VydmljZXMtZ3VpZGUge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICByaWdodDogcmVtLWNhbGMoNyk7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTI1OCwgLTUsIDE4LCAxNCwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi0tYm9va3dpemFyZC1xdW90ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWdyZWVuO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzNSk7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcG9kdy1ncmVlbiwgNSUpO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDcpO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC05NywgLTQ1LCAxOSwgMTksIGlubGluZS1ibG9jayk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b24tLWFjY291bnQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYyg3KTtcclxuICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMjQxLCAtOSwgMTUsIDcsIGlubGluZS1ibG9jayk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wcmVoZWFkZXIgLmFjY291bnQtZHJvcGRvd24sIC50YWJiYXIgLmFjY291bnQtZHJvcGRvd24ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbWluLXdpZHRoOiByZW0tY2FsYygyMjApO1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMjA3LCAyMDcsIDIwNywgMC41KTtcclxuICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcclxuICAmLm9wZW5lZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwcHggZG93bikge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogcmVtLWNhbGMoLTcpO1xyXG4gICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC04KTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC04KTtcclxuICB9XHJcbiAgbGkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkYm9yZGVyLWNvbG91ciwgLjMpO1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoOCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgLnNlcnZpY2UtaWNvbiB7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzNSk7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogJGRlZmF1bHQtc3BhY2luZy8yO1xyXG4gICAgICBmbGV4OiAwIDAgcmVtLWNhbGMoMzUpO1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDEzNSk7XHJcbiAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg1KTtcclxuICAgIH1cclxuICAgIC5idXR0b24ge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgcGFkZGluZzogcmVtLWNhbGMoOSkgcmVtLWNhbGMoMjQpIHJlbS1jYWxjKDkpIHJlbS1jYWxjKDkpO1xyXG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMik7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuNzJweDtcclxuICAgIH1cclxuICAgIC5zZWNvbmRhcnkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC0xMjEsIC0yOSwgNSwgOSwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50YWJiYXIgLmFjY291bnQtZHJvcGRvd24ge1xyXG4gIHRvcDogcmVtLWNhbGMoNjgpO1xyXG4gIHJpZ2h0OiByZW0tY2FsYyg2MCk7XHJcbn1cclxuIiwiLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICByaWdodDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDA7XHJcbiAgei1pbmRleDogMTI7XHJcbiAgdG9wOiAwO1xyXG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbjtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XHJcbiAgcGFkZGluZy10b3A6ICRkZWZhdWx0LXNwYWNpbmcqNjtcclxuICBAaW5jbHVkZSBoaWRlLWZvcihsYXJnZSB1cCk7XHJcbiAgJi5vcGVuZWQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAjbWVudS1kZXNrdG9wLW1lbnUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgICAuZnVsbHNjcmVlbi1uYXZpZ2F0aW9uX19jdGEge1xyXG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNHM7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcbiAgI21lbnUtZGVza3RvcC1tZW51IHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDAuMnMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7XHJcbiAgfVxyXG4gIC5tZW51IHtcclxuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICYubWVudS1pdGVtLS1uZXctYmFkZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjApICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJ25ldyc7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9kdy1ncmVlbi1zdHJpcC1zdHlsZTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTU0LCAtMzQsIDEzLCA3LCBpbmxpbmUtYmxvY2spO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgfVxyXG4gICAgICAuc3VibWVudSB7XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbl9fY3RhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvdHRvbTogLTEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg4KSAwO1xyXG4gICAgdHJhbnNpdGlvbjogYm90dG9tIC4ycyBlYXNlLWluLW91dDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBAaW5jbHVkZSBoaWRlLWZvcigzNjdweCBkb3duKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg0MjBweCB1cCl7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgfVxyXG4gICAgLmZ1bGxzY3JlZW4tbmF2aWdhdGlvbl9fY3RhLWl0ZW0ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGZsZXg6IDAgMCAzMiU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcclxuICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMzQ0LCAtMiwgMTksIDIwLCBibG9jayk7XHJcbiAgICAgIH1cclxuICAgICAgJi0tc2VydmljZXMtYm9vayB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMjc4LCAtMywgMTgsIDE4LCBibG9jayk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYtLXB1Ymxpc2hpbmctZ3VpZGUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTMyMSwgLTQsIDIxLCAxNywgYmxvY2spO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYm9keS5tZW51LW9wZW5lZCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgLnRhYmJhci1jb250YWluZXIge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcG9kdy1saWdodC1ncmV5O1xyXG4gICAgei1pbmRleDogMTM7XHJcbiAgICAuc2VydmljZS1oZWFkZXIge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgLnN0aWNreS1jb250YWluZXIge1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICAgIC50YWJiYXIge1xyXG4gICAgICB6LWluZGV4OiAxMztcclxuICAgICAgLnRhYmJhcl9fbWVudSB7XHJcbiAgICAgICAgLm1vYmlsZS1tZW51LXRyaWdnZXIge1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdjbG9zZSc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRhYmJhci1ncmV5O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVudS10ZXh0IHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5idXR0b24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDkpIHJlbS1jYWxjKDMyKSByZW0tY2FsYyg5KSByZW0tY2FsYygxNCk7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNzJweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtOTcsIC0yOSwgNSwgOSwgaW5saW5lLWJsb2NrKTtcclxuICAgIHJpZ2h0OiByZW0tY2FsYygxMCk7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zaXRpb246IHJpZ2h0IC4ycyBlYXNlLWluLW91dDtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi0tdHJhbnNwYXJlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgcGFkZGluZy10b3A6IDA7XHJcbiAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTEyMSwgLTI5LCA1LCA5LCBpbmxpbmUtYmxvY2spO1xyXG4gIH1cclxufVxyXG4iLCIvKipcclxuICogU3dpcGVyIDQuNC4xXHJcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXHJcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKlxyXG4gKiBSZWxlYXNlZCBvbjogU2VwdGVtYmVyIDE0LCAyMDE4XHJcbiAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lciB7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uc3dpcGVyLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXHJcbi5zd2lwZXItd3JhcHBlciB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XHJcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnN3aXBlci1zbGlkZSB7XHJcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcclxuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcclxuICBmbGV4LXNocmluazogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XHJcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xyXG59XHJcblxyXG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBBdXRvIEhlaWdodCAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xyXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XHJcbn1cclxuXHJcbi8qIDNEIEVmZmVjdHMgKi9cclxuLnN3aXBlci1jb250YWluZXItM2Qge1xyXG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XHJcbn1cclxuXHJcbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXHJcbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxyXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsLFxyXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xyXG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7XHJcbn1cclxuXHJcbi5zd2lwZXItYnV0dG9uLXByZXYsXHJcbi5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICB3aWR0aDogMjdweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbWFyZ2luLXRvcDogLTIycHg7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcblxyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXHJcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XHJcbiAgb3BhY2l0eTogMC4zNTtcclxuICBjdXJzb3I6IGF1dG87XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5zd2lwZXItYnV0dG9uLXByZXYsXHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcclxuICBsZWZ0OiAxMHB4O1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcbiAgbGVmdDogYXV0bztcclxufVxyXG5cclxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcclxufVxyXG5cclxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcclxufVxyXG5cclxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcclxufVxyXG5cclxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcclxufVxyXG5cclxuLnN3aXBlci1idXR0b24tbG9jayB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcclxuICAtby10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xyXG4gIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi8qIENvbW1vbiBTdHlsZXMgKi9cclxuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxyXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xyXG4gIGJvdHRvbTogMTBweDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBCdWxsZXRzICovXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcclxuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XHJcbn1cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XHJcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcclxuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xyXG59XHJcblxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICB3aWR0aDogOHB4O1xyXG4gIGhlaWdodDogOHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgb3BhY2l0eTogMC4yO1xyXG59XHJcblxyXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcbiAgdG9wOiA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIG1hcmdpbjogNnB4IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcclxuICB0b3A6IDUwJTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB3aWR0aDogOHB4O1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XHJcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XHJcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XHJcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgbWFyZ2luOiAwIDRweDtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XHJcbiAgbGVmdDogNTAlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XHJcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xyXG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xyXG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XHJcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XHJcbn1cclxuXHJcbi8qIFByb2dyZXNzICovXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XHJcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhcixcclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNHB4O1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhcixcclxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XHJcbiAgd2lkdGg6IDRweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbn1cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xyXG59XHJcblxyXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG59XHJcblxyXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xyXG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XHJcbn1cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBTY3JvbGxiYXIgKi9cclxuLnN3aXBlci1zY3JvbGxiYXIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAxJTtcclxuICBib3R0b206IDNweDtcclxuICB6LWluZGV4OiA1MDtcclxuICBoZWlnaHQ6IDVweDtcclxuICB3aWR0aDogOTglO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDNweDtcclxuICB0b3A6IDElO1xyXG4gIHotaW5kZXg6IDUwO1xyXG4gIHdpZHRoOiA1cHg7XHJcbiAgaGVpZ2h0OiA5OCU7XHJcbn1cclxuXHJcbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbn1cclxuXHJcbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcclxuICBjdXJzb3I6IG1vdmU7XHJcbn1cclxuXHJcbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zd2lwZXItem9vbS1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2ZyxcclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcclxuICBvYmplY3QtZml0OiBjb250YWluO1xyXG59XHJcblxyXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XHJcbiAgY3Vyc29yOiBtb3ZlO1xyXG59XHJcblxyXG4vKiBQcmVsb2FkZXIgKi9cclxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XHJcbiAgd2lkdGg6IDQycHg7XHJcbiAgaGVpZ2h0OiA0MnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xyXG4gIG1hcmdpbi10b3A6IC0yMXB4O1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcblxyXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBhMTF5ICovXHJcbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgb3BhY2l0eTogMDtcclxuICB6LWluZGV4OiAtMTAwMDtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB6LWluZGV4OiAxO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlIHtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XHJcbiAgei1pbmRleDogMDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgb3BhY2l0eTogMC42O1xyXG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xyXG4gIGZpbHRlcjogYmx1cig1MHB4KTtcclxuICB6LWluZGV4OiAwO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xyXG4gIHotaW5kZXg6IDA7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyIHtcclxuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXHJcbiAgLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7XHJcbn1cclxuIiwiLmZ0ZC1zb2NpYWwge1xyXG4gIGg1IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIC5jcnVuY2hpZnktc29jaWFsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmNydW5jaGlmeS1saW5rIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIi5zaWRlYmFyIHtcclxuICAud2lkZ2V0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICBoNiB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3VyO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZztcclxuICAgIH1cclxuICAgIC5idXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDMyKSByZW0tY2FsYygxMikgcmVtLWNhbGMoMTQpO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk3cHggLTI4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAwO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bC5hY2NvcmRpb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDAgMCAwO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgJi5mdGQtYmxvZy13aWRnZXQtbW9udGgtbGkge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZnRkLWJsb2ctd2lkZ2V0LXRhcmdldCwgLmZ0ZC1ibG9nLXdpZGdldC12aWV3bW9yZS1tb250aHMge1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mdGQtYmxvZy13aWRnZXQtdmlldy1tb3JlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnVmlldyBsZXNzIGFydGljbGVzJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmNsb3NlZCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiAnVmlldyBvbGRlciBhcnRpY2xlcyc7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi1tb250aCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtODgsIC0zMCwgNywgNiwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuY2xvc2VkIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIENvbnRhY3QgV2lkZ2V0XHJcbiAgLnNpZGViYXItY29udGFjdCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyNik7XHJcbiAgICAuc2lkZWJhci1jb250YWN0X190aXRsZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgIC5idXR0b24ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gU2VydmljZSBXaWRnZXRcclxuICAuc2VydmljZS1zaWRlYmFyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAuc2VydmljZS1zaWRlYmFyX19pbWFnZSB7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1vdmVybGF5LWNvbG91cjtcclxuICAgICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgfVxyXG4gICAgICAuc2VydmljZS1zaWRlYmFyX19pbWFnZS1zZXJ2aWNlLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg3NSk7XHJcbiAgICAgIH1cclxuICAgICAgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2Utc2VydmljZS1uYW1lIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg3KTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIC5ib29rIHtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2UtdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlcnZpY2Utc2lkZWJhcl9fY29udGVudCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgICAgLnNlcnZpY2Utc2lkZWJhcl9fY29udGVudC10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgfVxyXG4gICAgICAuYnV0dG9uIHtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uLS10cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyAgT3VyIFNlcnZpY2VzIFdpZGdldFxyXG4gIC5zaWRlYmFyLXNlcnZpY2VzLWxpc3Qge1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgLnNlcnZpY2UtaXRlbSB7XHJcbiAgICAgICAgZmxleDogMCAwIDQ1JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlcnZpY2UtaXRlbSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW1fX2ljb24ge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnNlcnZpY2UtaXRlbV9faWNvbiB7XHJcbiAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDc1KTtcclxuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNzUpO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xyXG4gICAgICB9XHJcbiAgICAgIC5zZXJ2aWNlLWl0ZW1fX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW1fX2Rlc2NyaXB0aW9uLXNlcnZpY2Uge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLndpZGdldF9hcmNoaXZlIHtcclxuICAgIHVsIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5wYWdpbmF0aW9uIHtcclxuICBwYWRkaW5nOiAwICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgbGkge1xyXG4gICAgLmN1cnJlbnQge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRwb2R3LW1lZGl1bS1ncmV5O1xyXG4gICAgfVxyXG4gICAgc3BhbiwgYSB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1saWdodC1ncmV5O1xyXG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XHJcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJHBvZHctbWVkaXVtLWdyZXk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5jb250YWN0LWN0YSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tbGVmdDogLTElO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMSU7XHJcbiAgfVxyXG4gIC5jdGEtaXRlbSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1saWdodC1ncmV5O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgLmN0YS1pdGVtX19pbm5lciB7XHJcbiAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIGZsZXg6IDAgMCAzMS4zMyU7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxJTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcclxuICAgIH1cclxuICAgIC5jdGEtaXRlbV9faWNvbi1jb250YWluZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcclxuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xyXG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTAwKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjUpO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jdGEtaXRlbV9fdGl0bGUge1xyXG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIH1cclxuICAgIGFbaHJlZl49XCJ0ZWw6XCJdIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFjdC1sb2NhdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbGlnaHQtZ3JleTtcclxuICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgLmNvbnRhY3QtbG9jYXRpb24td3JhcCB7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbnRhY3QtbG9jYXRpb25fX2NvbHVtbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgZmxleDogMCAwIDQ4JTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZmxleDogMCAwIDMzJTtcclxuICAgICAgJi5jb250YWN0LWxvY2F0aW9uX19jb2x1bW4tY29weXJpZ2h0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZmxleDogMSAwIGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250YWN0LXRlbGVwaG9uZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDgwcHgpIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDQ4MHB4KSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGFjdC1sb2NhdGlvbl9fY29sdW1uLWNvcHlyaWdodCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIH1cclxuICAgIC5jb250YWN0LWFkZHJlc3Mge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuY29udGFjdC1sb2NhdGlvbl9fbWFwIHtcclxuICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcbiIsIi5nZm9ybV93cmFwcGVyIHtcclxuICAuZ2Zvcm1faGVhZGluZyB7XHJcbiAgICAuZ2Zvcm1fZGVzY3JpcHRpb24ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuZ2Zvcm1fZmllbGRzIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIC5nZmllbGQge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIH1cclxuICAgICAgJi5nZmllbGRfaHRtbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nZmllbGQtbWVzc2FnZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1saWdodC1ncmV5O1xyXG4gICAgICAgICAgZmxleDogMCAwIDcwJTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICBwOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgICYuZ2ZpZWxkLS10aXRsZSB7XHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg5NSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgfVxyXG4gICAgICAmLmdmaWVsZC0taGlkZS1sYWJlbCB7XHJcbiAgICAgICAgLmdmaWVsZF9sYWJlbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuZ2ZpZWxkX2xhYmVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgIGZsZXg6IDAgMCAyMCU7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBmbGV4OiAwIDAgMjclO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIC8vICBmbGV4OiAwIDAgMTclO1xyXG4gICAgICAgIC8vICBtYXJnaW4tcmlnaHQ6IDMlO1xyXG4gICAgICAgIC8vfVxyXG4gICAgICB9XHJcbiAgICAgIC52YWxpZGF0aW9uX21lc3NhZ2UsIC5naW5wdXRfY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgZmxleDogMCAwIDc3JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgZmxleDogMCAwIDcwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIC8vICBmbGV4OiAwIDAgODAlO1xyXG4gICAgICAgIC8vfVxyXG4gICAgICB9XHJcbiAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAmLmdmX25hbWVfaGFzXzIge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgID5zcGFuIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDQ5JTtcclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3gsICYuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIC5nZmllbGRfY2hlY2tib3gsIC5nZmllbGRfcmFkaW8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRwb2R3LW1lZGl1bS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuZ2ZpZWxkX3Zpc2liaWxpdHlfaGlkZGVuIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmdmb3JtX2Zvb3RlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgIC5idXR0b24ge1xyXG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMzIpIHJlbS1jYWxjKDEyKSByZW0tY2FsYygxNCk7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcclxuICAgIH1cclxuICB9XHJcbiAgZm9ybSB7XHJcbiAgICAudmFsaWRhdGlvbl9lcnJvciB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkcG9kdy1yZWQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0td3JhcHBlcl9fYnV0dG9uLWNvbG91ci0teWVsbG93IHtcclxuICAgIC5idXR0b24ge1xyXG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHcteWVsbG93O1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIxcHggLTI5cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0td3JhcHBlcl9fYnV0dG9uLWNvbG91ci0tZGFyay1ncmVlbiB7XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctZGFyay1ncmVlbjtcclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0td3JhcHBlcl9fYnV0dG9uLWNvbG91ci0tZ3JlZW4ge1xyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWdyZWVuO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZm9ybS13cmFwcGVyX19idXR0b24tY29sb3VyLS1yZWQge1xyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LXJlZDtcclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0td3JhcHBlcl9fYnV0dG9uLWNvbG91ci0tbGlnaHQtYmx1ZSB7XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbGlnaHQtYmx1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0td3JhcHBlcl9fYnV0dG9uLWNvbG91ci0tZGFyay1ibHVlIHtcclxuICAgIC5idXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1kYXJrLWJsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5mb3JtLXdyYXBwZXJfX2J1dHRvbi1jb2xvdXItLWdyZXkge1xyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LW1lZGl1bS1ncmV5O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJlY2FwdGNoYS1tZXNzYWdlIHtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBjb2xvcjogbGlnaHRlbigkYm9keS1mb250LWNvbG9yLCAxNSUpO1xyXG4gIG1hcmdpbjogcmVtLWNhbGMoMTApIDA7XHJcbiAgYSB7XHJcbiAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1yZWd1bGFyICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcbn1cclxuXHJcbi5zcGluZS13aWR0aC1jYWxjdWxhdG9yIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1ncmVlbjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zcGluZS1jYWxjdWxhdG9yLWJnLWltYWdlLnBuZycpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyICRkZWZhdWx0LXNwYWNpbmcqNDtcclxuICB9XHJcbiAgLmdmb3JtX2Rlc2NyaXB0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLmdmb3JtX2Zvb3RlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KDgwMHB4IGRvd24pIHtcclxuICAgIC5nZmllbGQtc3BpbmUtd2lkdGgtZGlhZ3JhbSB7XHJcbiAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICAuc3BpbmUtd2lkdGgtZGlhZ3JhbSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5nZm9ybV9maWVsZHMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC5nZmllbGQge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MDBweCkge1xyXG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI4MCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgIC5zcGluZS1jYWxjdWxhdG9yX19kb3dubG9hZCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUwKTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyNjApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmcqMztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTMyMiwgLTI3LCAyOCwgMzksIGlubGluZS1ibG9jayk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmdmaWVsZC1zcGluZS13aWR0aC1kaWFncmFtIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODAwcHgpIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNwaW5lLXdpZHRoLWRpYWdyYW0ge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgLnNwaW5lLXdpZHRoLXZhbHVlLXdyYXAge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMzApO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygxODApO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvZHctbWVkaXVtLWdyZXk7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcclxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zcGluZS13aWR0aC12YWx1ZSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oZXJvLWxhbmRpbmctYmFubmVyIHtcclxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLnZhbGlkYXRpb25fbWVzc2FnZSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHtcclxuICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gIH1cclxuICAuZXJyb3JNZXNzYWdlcyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG4iLCIuZ2Zvcm1fd3JhcHBlciB7XHJcbiAgLnZhbGlkYXRpb25fZXJyb3Ige1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LXJlZDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2KTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgfVxyXG4gIC5nZm9ybV9maWVsZHMge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuZ2ZpZWxkIHtcclxuICAgIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1yZWQ7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICB0b3A6IHJlbS1jYWxjKDUpO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSByZW0tY2FsYyg1KSByZW0tY2FsYyg1KSByZW0tY2FsYygxNSk7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcgJztcclxuICAgICAgICB0b3A6IC0xMXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsZWZ0OiAtMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmdmaWVsZF9jaGVja2JveCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaSB7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xyXG4gIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1saWdodC1ibHVlO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuIiwiLnNlcnZpY2VzLW92ZXJ2aWV3LWhlYWRlciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcbiAgLnNlcnZpY2VzX19pdGVtIHtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoI0MxQzFDMSwgMC4zNSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmbGV4OiAwIDAgMjAlO1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkIC5zZXJ2aWNlX19pdGVtLWdyb3VwIHtcclxuICAgICAgLnNlcnZpY2Utc3RlcC1sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VydmljZV9faXRlbS1ncm91cCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgLnNlcnZpY2Utc3RlcC1sYWJlbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbWVkaXVtLWdyZXkgIWltcG9ydGFudDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKC02MCk7XHJcbiAgICAgICAgdG9wOiByZW0tY2FsYyg4MCk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWltcG9ydGFudDtcclxuICAgICAgICBAZXh0ZW5kIC5sYWJlbC1zdHJpcDtcclxuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcih4bGFyZ2UpO1xyXG4gICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCgxOTIwcHgpIHtcclxuICAgICAgICAvLyAgcmlnaHQ6IHJlbS1jYWxjKC0yMCk7XHJcbiAgICAgICAgLy99XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygtMTMpO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIGJvcmRlci10b3A6IDE2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDE2cHggc29saWQgJHBvZHctbWVkaXVtLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyozIDA7XHJcbiAgICAgIH1cclxuICAgICAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2ljb24ge1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxMDgpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDgwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19sYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlcnZpY2VfX2l0ZW0tdHlwZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgIGNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5O1xyXG4gICAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nIDA7XHJcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkobWVkaXVtKTtcclxuICAgIH1cclxuICAgICYuc2VydmljZXNfX2l0ZW0tLXB1Ymxpc2hlcnMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXg6IDAgMCA2MCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXAge1xyXG4gICAgICAgICAgZmxleDogMSAwIDMxJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlcnZpY2VfX2l0ZW0tdHlwZSB7XHJcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlYXJjaCB7XHJcbiAgLmhlcm8tY29udGVudF9fc2VhcmNoLWZvcm0ge1xyXG4gICAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZyoxLjU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmlucHV0LWdyb3VwIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMDApO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWdyZWVuO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTgwKTtcclxuICAgICAgcGFkZGluZzogMCAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgY29sb3I6ICRwb2R3LWdyZWVuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtOTcsIC0yOSwgNSwgOSwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgICByaWdodDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoNSk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMTIxLCAtMjksIDUsIDksIGlubGluZS1ibG9jayk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zZWFyY2gtcmVzdWx0cyB7XHJcbiAgICAucmVzdWx0LWl0ZW0ge1xyXG4gICAgICAucmVzdWx0LWl0ZW1fX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jcmVhY3Qtcm9vdCB7XHJcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg2MDApO1xyXG4gIH1cclxufVxyXG4iLCIuaW1hZ2UtbW9kYWwsIC5jb250ZW50LW1vZGFsIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3V0bGluZTogMDtcclxuICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC5tb2RhbC1jbG9zZS10cmlnZ2VyIHtcclxuICAgICAgdG9wOiByZW0tY2FsYygtNDApO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgLmltYWdlLW1vZGFsX19pbm5lciwgIC5jb250ZW50LW1vZGFsX19pbm5lciB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1tb2RhbF9fZ3JpZCB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDgwdmg7XHJcbiAgICAgIG1pbi13aWR0aDogODB2dztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbWFnZS1tb2RhbF9faW5uZXIsIC5jb250ZW50LW1vZGFsX19pbm5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgbWFyZ2luLXRvcDogMi44MTI1cmVtO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggMzBweCByZ2JhKDAsIDAsIDAsIC44Myk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcclxuICAgIC5pbWFnZS1jb250YWluZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg4MDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtbW9kYWxfX2lubmVyLWNhcHRpb24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICBwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tb2RhbC1jbG9zZS10cmlnZ2VyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IHRvcCAuMnMgZWFzZS1pbi1vdXQgLjJzLCBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcclxuICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC0xNjYsIC0yMywgMjUsIDI1LCBpbmxpbmUtYmxvY2spO1xyXG4gIH1cclxufVxyXG5cclxuLnJldmVhbC1vdmVybGF5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI5LCAyOSwgMjksIC44KTtcclxufVxyXG4iLCJAa2V5ZnJhbWVzIGtlbmJ1cm5zIHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGUtc3RhcnQtaGlkZGVuIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gICYuYW5pbWF0ZWQge1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjlzIGVhc2UtaW47XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGVkIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aFxyXG59XHJcblxyXG4uYW5pbWF0ZWQtc2xvdyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoXHJcbn1cclxuXHJcbi5hbmltYXRlZC5oaW5nZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnNcclxufVxyXG5cclxuJGJhc2UtZGVsYXk6IDAuMnM7XHJcbi5kZWxheS0xIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXk7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheTtcclxufVxyXG5cclxuLmRlbGF5LTIge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheSAqIDI7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheSAqIDI7XHJcbn1cclxuXHJcbi5kZWxheS0zIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXkgKiAzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXkgKiAzO1xyXG59XHJcblxyXG4uZGVsYXktNCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRiYXNlLWRlbGF5ICogNDtcclxuICBhbmltYXRpb24tZGVsYXk6ICRiYXNlLWRlbGF5ICogNDtcclxufVxyXG5cclxuLmRlbGF5LTUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheSAqIDU7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheSAqIDU7XHJcbn1cclxuXHJcbi5kZWxheS02IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXkgKiA2O1xyXG4gIGFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXkgKiA2O1xyXG59XHJcblxyXG4uZGVsYXktNyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRiYXNlLWRlbGF5ICogNztcclxuICBhbmltYXRpb24tZGVsYXk6ICRiYXNlLWRlbGF5ICogNztcclxufVxyXG5cclxuLmRlbGF5LTgge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheSAqIDg7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheSAqIDg7XHJcbn1cclxuXHJcbi5kZWxheS05IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXkgKiA5O1xyXG4gIGFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXkgKiA5O1xyXG59XHJcblxyXG4uZGVsYXktMTAge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheSAqIDEwO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXkgKiAxMDtcclxufVxyXG5cclxuLmRlbGF5LTExIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGJhc2UtZGVsYXkgKiAxMTtcclxuICBhbmltYXRpb24tZGVsYXk6ICRiYXNlLWRlbGF5ICogMTE7XHJcbn1cclxuXHJcbi5kZWxheS0xMiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRiYXNlLWRlbGF5ICogMTI7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYmFzZS1kZWxheSAqIDEyO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcclxuICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KVxyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2Uge1xyXG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpXHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweClcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XHJcbiAgMCUsIDUwJSwgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDI1JSwgNzUlIHtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxhc2gge1xyXG4gIDAlLCA1MCUsIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAyNSUsIDc1JSB7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG59XHJcblxyXG4uZmxhc2gge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSlcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSlcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSlcclxuICB9XHJcbn1cclxuXHJcbi5wdWxzZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XHJcbiAgMCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KVxyXG4gIH1cclxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hha2Uge1xyXG4gIDAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweClcclxuICB9XHJcbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KVxyXG4gIH1cclxufVxyXG5cclxuLnNoYWtlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcclxuICBhbmltYXRpb24tbmFtZTogc2hha2VcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZylcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZylcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKVxyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZylcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3dpbmcge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZylcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKVxyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpXHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZylcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMClcclxuICB9XHJcbn1cclxuXHJcbi5zd2luZyB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXHJcbiAgfVxyXG4gIDEwJSwgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSkgcm90YXRlKC0zZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpIHJvdGF0ZSgtM2RlZylcclxuICB9XHJcbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZylcclxuICB9XHJcbiAgNDAlLCA2MCUsIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZylcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgdGFkYSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpXHJcbiAgfVxyXG4gIDEwJSwgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSkgcm90YXRlKC0zZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKC45KSByb3RhdGUoLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOSkgcm90YXRlKC0zZGVnKVxyXG4gIH1cclxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpXHJcbiAgfVxyXG4gIDQwJSwgNjAlLCA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApXHJcbiAgfVxyXG59XHJcblxyXG4udGFkYSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcclxuICBhbmltYXRpb24tbmFtZTogdGFkYVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpXHJcbiAgfVxyXG4gIDE1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZylcclxuICB9XHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpXHJcbiAgfVxyXG4gIDQ1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZylcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpXHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB3b2JibGUge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKVxyXG4gIH1cclxuICAxNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpXHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZylcclxuICB9XHJcbiAgNDUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKVxyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpXHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZylcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSlcclxuICB9XHJcbn1cclxuXHJcbi53b2JibGUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcclxuICBhbmltYXRpb24tbmFtZTogd29iYmxlXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKVxyXG4gIH1cclxuICA1MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSlcclxuICB9XHJcbiAgNzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC45KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSlcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMylcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSlcclxuICB9XHJcbiAgNzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguOSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC45KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKVxyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpXHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweClcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweClcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweClcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluRG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd25cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpXHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweClcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweClcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweClcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpXHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweClcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweClcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweClcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpXHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweClcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweClcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluVXAge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXBcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKVxyXG4gIH1cclxuICAyNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45NSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSlcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMylcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSlcclxuICB9XHJcbiAgMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjk1KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KVxyXG4gIH1cclxuICA1MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMylcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweClcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXREb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXRMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbiAgMjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG4gIDIwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KVxyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZU91dFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbiAgMjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlT3V0VXAge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5Eb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5Eb3duQmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkxlZnRCaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWdcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluUmlnaHRCaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZ1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5VcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5VcEJpZyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpXHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dERvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93blxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dERvd25CaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZ1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KVxyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dExlZnRCaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZ1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KVxyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRSaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dFJpZ2h0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZ1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpXHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRVcEJpZyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWdcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpXHJcbiAgfVxyXG4gIDAlLCA0MCUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKVxyXG4gIH1cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluXHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpXHJcbiAgfVxyXG4gIDgwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZsaXAge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKVxyXG4gIH1cclxuICAwJSwgNDAlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dFxyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpXHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluXHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSlcclxuICB9XHJcbiAgODAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW5cclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMSlcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlZC5mbGlwIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKVxyXG4gIH1cclxuICA3MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwKTtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcEluWCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpXHJcbiAgfVxyXG4gIDcwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZylcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG59XHJcblxyXG4uZmxpcEluWCB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcclxuICBhbmltYXRpb24tbmFtZTogZmxpcEluWFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZylcclxuICB9XHJcbiAgNzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKVxyXG4gIH1cclxuICA3MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxufVxyXG5cclxuLmZsaXBJblkge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJbllcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcE91dFgge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwKTtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG59XHJcblxyXG4uZmxpcE91dFgge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbi5mbGlwT3V0WSB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG59XHJcblxyXG4ubGlnaHRTcGVlZEluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbi5saWdodFNwZWVkT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJbiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXJcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbiAgMCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG4gIDAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVJbkRvd25MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG4gIDAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b21cclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlSW5Eb3duUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b21cclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG4gIDAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVJblVwTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG4gIDAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbiAgMCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZUluVXBSaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlclxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVPdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b21cclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9XHJcbiAgMCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZU91dERvd25MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b21cclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlT3V0RG93blJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b21cclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlT3V0VXBMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAwJSwgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMFxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVPdXRVcFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZUluRG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZUluTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KVxyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlT3V0TGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnRcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpXHJcbiAgfVxyXG59XHJcblxyXG4uc2xpZGVPdXRSaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodFxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweClcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KVxyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlT3V0VXAge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXBcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMClcclxuICB9XHJcbiAgMCUsIDIwJSwgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dFxyXG4gIH1cclxuICAyMCUsIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKVxyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZylcclxuICB9XHJcbiAgNDAlLCA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7XHJcbiAgICBvcGFjaXR5OiAxXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgaGluZ2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKVxyXG4gIH1cclxuICAwJSwgMjAlLCA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0XHJcbiAgfVxyXG4gIDIwJSwgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKVxyXG4gIH1cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpXHJcbiAgfVxyXG4gIDQwJSwgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dFxyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApO1xyXG4gICAgb3BhY2l0eTogMVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTtcclxuICAgIG9wYWNpdHk6IDBcclxuICB9XHJcbn1cclxuXHJcbi5oaW5nZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlXHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZylcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb2xsSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZylcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlKDApXHJcbiAgfVxyXG59XHJcblxyXG4ucm9sbEluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJblxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGUoMClcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZylcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm9sbE91dCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKVxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZylcclxuICB9XHJcbn1cclxuXHJcbi5yb2xsT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0XHJcbn1cclxuXHJcbi8qIG5ldyBhbmkgKi9cclxuLmFuaW1hdGVkLWJvdW5jZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDY7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2UtbG9vcCB7XHJcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZS1sb29wIHtcclxuICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2UtbG9vcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlLWxvb3A7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS1sb29wO1xyXG59XHJcblxyXG4vL0BrZXlmcmFtZXMgaW1hZ2UtZ3JvdyB7XHJcbi8vICAwJSB7XHJcbi8vICAgIG9wYWNpdHk6IDA7XHJcbi8vICB9XHJcbi8vICAxMDAlIHtcclxuLy8gICAgb3BhY2l0eTogMTtcclxuLy8gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgxLCAyLCAxLCAtMzBkZWcpO1xyXG4vLyAgICB3aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbi8vICB9XHJcbi8vfVxyXG4vL1xyXG4vLy5pbWFnZS1ncm93IHtcclxuLy8gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGltYWdlLWdyb3c7XHJcbi8vICBhbmltYXRpb24tbmFtZTogaW1hZ2UtZ3JvdztcclxuLy8gIGFuaW1hdGlvbi1kZWxheTogLjNzO1xyXG4vL31cclxuXHJcbiIsIi5idXR0b24tY29sb3VyLS1vcmFuZ2Uge1xyXG4gIC5idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctb3JhbmdlO1xyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi1jb2xvdXItLWdyZWVuIHtcclxuICAuYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWdyZWVuO1xyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi1jb2xvdXItLXllbGxvdyB7XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LXllbGxvdztcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIxcHggLTI5cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnV0dG9uLWNvbG91ci0tZGFyay1ncmVlbiB7XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1kYXJrLWdyZWVuO1xyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi1jb2xvdXItLWdyZWVuIHtcclxuICAuYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWdyZWVuO1xyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi1jb2xvdXItLXJlZCB7XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1yZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4uYnV0dG9uLWNvbG91ci0tbGlnaHQtYmx1ZSB7XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1saWdodC1ibHVlO1xyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi1jb2xvdXItLWRhcmstYmx1ZSB7XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1kYXJrLWJsdWU7XHJcbiAgfVxyXG59XHJcblxyXG4ubGFiZWwtc3RyaXAge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgcGFkZGluZzogcmVtLWNhbGMoMykgcmVtLWNhbGMoMTApO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWdyZWVuO1xyXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgJi5sYWJlbC1zdHJpcC0tZGFyay1ncmVlbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1kYXJrLWdyZWVuO1xyXG4gIH1cclxuICAmLmxhYmVsLXN0cmlwLS1vcmFuZ2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctb3JhbmdlO1xyXG4gIH1cclxuICAmLmxhYmVsLXN0cmlwLS15ZWxsb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHcteWVsbG93O1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgfVxyXG4gICYubGFiZWwtc3RyaXAtLWRhcmstYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1kYXJrLWJsdWU7XHJcbiAgfVxyXG4gICYubGFiZWwtc3RyaXAtLWxpZ2h0LWJsdWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbGlnaHQtYmx1ZTtcclxuICB9XHJcbiAgJi5sYWJlbC1zdHJpcC0tcmVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LXJlZDtcclxuICB9XHJcbiAgJi5sYWJlbC1zdHJpcC0tZ3JleSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIiwiLnJlbW92ZS1tYXJnaW4tYm90dG9tIHtcclxuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLnJlbW92ZS1tYXJnaW4tdG9wIHtcclxuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5yZW1vdmUtcGFkZGluZy10b3AsIC5iZy1ncmV5LnJlbW92ZS1wYWRkaW5nLXRvcCB7XHJcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJlbW92ZS1wYWRkaW5nLWJvdHRvbSwgLmJnLWdyZXkucmVtb3ZlLXBhZGRpbmctYm90dG9tIHtcclxuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmVtb3ZlLXBhZGRpbmctbGVmdCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgJi5iZy1ncmV5IHtcclxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLnJlbW92ZS1wYWRkaW5nLXJpZ2h0e1xyXG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAmLmJnLWdyZXkge1xyXG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmZvbnQtd2VpZ2h0LS1saWdodCB7XHJcbiAgZm9udC13ZWlnaHQ6ICRwcm94aW1hLW5vdmEtZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbnVsLnN0YXRpc3RpY3MtbGlzdCwgdWwudGljay1saXN0IHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBsaSB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XHJcbiAgICBoMywgaDQsIGg1IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKDAsIC00MiwgMjQsIDI1LCBpbmxpbmUtYmxvY2spO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50aWNrLWxpc3QuY2VudGVyZWQtbGlzdC13aXRob3V0LWJ1bGxldHMge1xyXG4gIGxpIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50aWNrLWxpc3QtLXNtYWxsIHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBsaSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTM4MCwgLTMzLCAxNiwgMTIsIGlubGluZS1ibG9jayk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiByZW0tY2FsYyg2KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LWFyZWEtcmVtb3ZlLWxpc3QtbWFyZ2luIHtcclxuICAuc3RhdGlzdGljcy1saXN0LCAudGljay1saXN0IHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcbiAgLnRleHQtYXJlYSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4udGljay1saXN0LXdyYXBwZXIge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgfVxyXG4gIC5zdGF0aXN0aWNzLWxpc3QsIC50aWNrLWxpc3Qge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBVc2UgaGVhZGluZyBzdHlsZSBjbGFzc2VzXHJcbi5oMiwgLmgzLCAuaDQge1xyXG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XHJcbiAgbWFyZ2luLXRvcDogJGhlYWRlci1tYXJnaW4tYm90dG9tLzEuMjtcclxuICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b20vMS4yO1xyXG4gIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbn1cclxuLmgyIHtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xyXG4gIH1cclxufVxyXG5cclxuLmgzIHtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcclxuICB9XHJcbn1cclxuXHJcbi5oNCB7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgfVxyXG59XHJcblxyXG4udGV4dC1hcmVhLXZlcnRpY2FsbHktY2VudGVyZWQge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgKiB7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiQG1lZGlhIHByaW50IHtcclxuICAvLyBHbG9iYWxcclxuICBhIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkZXJcclxuICAucHJlaGVhZGVyIHtcclxuICAgIC5wcmVhZGVyX19zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgLnRvcC1iYXItY29udGFpbmVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcclxuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcgMDtcclxuICAgIC50b3AtYmFyIHtcclxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAuZGVza3RvcC1tZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VydmljZS1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLnRhYmJhci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIEhlcm8gQmFubmVyXHJcbiAgLmhlcm8tYmFubmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI0MCk7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvdXI7XHJcbiAgfVxyXG4gIC5zZXJ2aWNlLWJhbm5lci1jb250YWluZXIge1xyXG4gICAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvdXI7XHJcbiAgfVxyXG4gIC5zZXJ2aWNlLWJhbm5lciB7XHJcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyNDApICFpbXBvcnRhbnQ7XHJcbiAgICAuc2VydmljZS1iYW5uZXJfX2NvbnRlbnQtdGl0bGUge1xyXG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEZvb3RlclxyXG4gIC5mb290ZXItY29udGFpbmVyIHtcclxuICAgIC5mb290ZXIge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgLmZvb3Rlci1tZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgIC5zb2NpYWwtaWNvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgLmZvb3Rlci1hZGRyZXNzIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLmZvb3Rlci1hZGRyZXNzX19kZXRhaWxzIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEpO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWZvcm0ge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBociB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1kZXRhaWxzX19iYWRnZXMge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQmxvZ1xyXG4gIC5mZWF0dXJlZC1hcnRpY2xlLWNvbnRhaW5lciAuZmVhdHVyZWQtYXJ0aWNsZSB7XHJcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyNDApICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC53aWRnZXRfZnRkX2Jsb2dfd2lkZ2V0X2FyY2hpdmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLndpZGdldF90ZXh0IC5zaWRlYmFyLWNvbnRhY3Qge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmFydGljbGVfX2NvbnRlbnQtc29jaWFsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvLyBIb21lIHBhZ2VcclxuXHJcbiAgLy8gQmxvY2tzXHJcbiAgLnJlbGF0ZWQtc2VydmljZXMgLnJlbGF0ZWQtc2VydmljZSAucmVsYXRlZC1zZXJ2aWNlX19iZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCIuaW1hZ2Utc2xpZGVyIHtcclxuICAuc3dpcGVyLXBhZ2luYXRpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZyoxLjU7XHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMik7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxMik7XHJcbiAgICAgICYuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbGlnaHQtYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJibG9ja3F1b3RlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyIDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbjogJGRlZmF1bHQtc3BhY2luZyozIDA7XHJcbiAgcCB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBjb2xvcjogJHBvZHctbWVkaXVtLWdyZXk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRwb2R3LW1lZGl1bS1ncmV5O1xyXG4gICAgd2lkdGg6IHJlbS1jYWxjKDkwKTtcclxuICAgIGhlaWdodDogNHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuIiwiLm5vdGljZS1tZXNzYWdlIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNSk7XHJcbiAgcGFkZGluZzogcmVtLWNhbGMoNSkgcmVtLWNhbGMoMTApO1xyXG4gIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICBwIHtcclxuICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIC5idXR0b24ge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJ0YWJsZSwgdGFibGUudGFibGVwcmVzcyB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICB0aGVhZCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB0aCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsLXN0cmlwIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIHRib2R5IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRkIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjEuNTtcclxuICAgICAgcGFkZGluZy1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMS41O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgc3Bhbi5ubyB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTIxNSwgMCwgMjUsIDI1LCBpbmxpbmUtYmxvY2spO1xyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ueWVzIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgwLCAtNDIsIDI1LCAyNSwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuc2VydmljZS1pY29uLXRpdGxlLXdyYXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAuc2VydmljZS1pY29uX190ZXh0IHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZGF0YVRhYmxlc19zY3JvbGwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiByZW0tY2FsYygtMTApO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC0zNTMsIC0zMSwgMjUsIDM1LCBpbmxpbmUtYmxvY2spO1xyXG4gICAgQGluY2x1ZGUgaGlkZS1mb3IobGFyZ2UpO1xyXG4gIH1cclxufVxyXG5cclxudGFibGUuYm9va2N5Y2xlLWZvcm0ge1xyXG4gIHRoZWFkIHtcclxuICAgIHRoIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTEwKSAhaW1wb3J0YW50O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAmLmNvbHVtbi0xLCAmLmNvbHVtbi0yLCAmLmNvbHVtbi0zIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICAgICYuY29sdW1uLTIge1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzODApICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgdGJvZHkge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdGQge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICYuY29sdW1uLTEsICYuY29sdW1uLTIsICYuY29sdW1uLTMge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3Njcm9sbEJvZHkge1xyXG4gIC50aGVhZF9faW5uZXItLW1vc3QtcG9wdWxhciB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbnRhYmxlLmJvb2twdWJsaXNoZXItcGFja2FnZXMge1xyXG4gIHRoZWFkIHtcclxuICAgIHRoIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSAwIDAgMDtcclxuICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgIH1cclxuICAgICAgc3Bhbi50aGVhZF9faW5uZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCkgcmVtLWNhbGMoOSk7XHJcbiAgICAgICAgJi50aGVhZF9faW5uZXItLWJyb256ZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1icm9uemU7XHJcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRoZWFkX19pbm5lci0tc2lsdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LXNpbHZlcjtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGhlYWRfX2lubmVyLS1nb2xkIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWdvbGQ7XHJcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRoZWFkX19pbm5lci0tbW9zdC1wb3B1bGFyOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnTW9zdCBwb3B1bGFyJztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWRhcmstZ3JlZW47XHJcbiAgICAgICAgICBAZXh0ZW5kIC5sYWJlbC1zdHJpcDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgdGJvZHkge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4gICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwMCk7XHJcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1saWdodC1ncmV5O1xyXG4gICAgICB9XHJcbiAgICAgICYuY29sdW1uLTEge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm94aW1hLW5vdmEtZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgfVxyXG4gICAgICAudGFibGUtdmFsdWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICB9XHJcbiAgICAgIC5idXR0b24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LW9yYW5nZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0cjpsYXN0LWNoaWxkIHtcclxuICAgICAgdGQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcgJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiNyZWFjdC1yb290IHtcclxuIC5ub3RpY2UtbWVzc2FnZSB7XHJcbiAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuIH1cclxufVxyXG4iLCIudmlzaW9ucy1ibG9jayB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuICAudmlzaW9uLWl0ZW0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbWVkaXVtLWdyZXk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IHJlbS1jYWxjKC0xMDApO1xyXG4gICAgICBib3R0b206IHJlbS1jYWxjKDUwKTtcclxuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg3ODMpO1xyXG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjI5MCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLDMyLDMyLDAuMTUpO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygxNTApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmbGV4OiAwIDAgNTAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0NjApO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZsZXg6IDAgMCAzMyU7XHJcbiAgICB9XHJcbiAgICAudmlzaW9uLWl0ZW1fX2lubmVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAgIH1cclxuICAgICAgLnZpc2lvbi1pdGVtX19pbm5lci10aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC52aXNpb24taXRlbV9faWNvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg0NSk7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm94aW1hLW5vdmEtZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi52aXNpb24taXRlbS0tZ3JlZW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1ncmVlbjtcclxuICAgIH1cclxuICAgICYudmlzaW9uLWl0ZW0tLXJlZCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LXJlZDtcclxuICAgIH1cclxuICAgICYudmlzaW9uLWl0ZW0tLW9yYW5nZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LW9yYW5nZTtcclxuICAgIH1cclxuICAgICYudmlzaW9uLWl0ZW0tLWxpZ2h0LWJsdWUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1saWdodC1ibHVlO1xyXG4gICAgfVxyXG4gICAgJi52aXNpb24taXRlbS0tYnJvd24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1icm93bjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNpdGUtY3RhLWxpbmtzIHtcclxuICAuY3RhLWxpbmtfX2l0ZW0ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAuY3RhLWxpbmtfX2l0ZW0tbGFiZWwge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtbGlua19faXRlbS1pY29uIHtcclxuICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTQ0NCwgLTQzLCAyMywgMjIsIGlubGluZS1ibG9jayk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3RhLWxpbmtfX2l0ZW0tLXF1b3RlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctZ3JlZW47XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdGEtbGlua19faXRlbS0tY29udGFjdCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LW1lZGl1bS1ncmV5O1xyXG5cclxuICAgICAgLmN0YS1saW5rX19pdGVtLWljb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC0zOTQsIC00MywgMjMsIDIyLCBpbmxpbmUtYmxvY2spO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdGEtbGlua19faXRlbS0tYnJvY2h1cmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1icm93bjtcclxuXHJcbiAgICAgIC5jdGEtbGlua19faXRlbS1pY29uIHtcclxuICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtNDE5LCAtNDMsIDI0LCAyMCwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5zaXRlLWN0YS1saW5rcy0tZml4ZWQge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiByZW0tY2FsYygyNTApO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogcmVtLWNhbGMoODApO1xyXG4gICAgei1pbmRleDogMTE7XHJcblxyXG4gICAgLmN0YS1saW5rX19pdGVtIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYygxMikgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDIpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgfVxyXG4gICAgICAmLmN0YS1saW5rX19pdGVtLS1xdW90ZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXItY29udGFpbmVyIC5zaXRlLWN0YS1saW5rcyB7XHJcbiAgQGluY2x1ZGUgaGlkZS1mb3IobGFyZ2UpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gIC5jdGEtbGlua19faXRlbSB7XHJcbiAgICBmbGV4OiAwIDAgNTAlO1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTMpIDA7XHJcbiAgICAmLmN0YS1saW5rX19pdGVtLS1xdW90ZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5sYXp5bG9hZCxcclxuLmxhenlsb2FkaW5nIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcbi5sYXp5bG9hZGVkIHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XHJcbn1cclxuIiwiLmlzLWllIHtcclxuICAucHJvY2Vzcy1kaWFncmFtLWNvbnRhaW5lciAuY29udGVudC1zZWN0aW9uLXJpZ2h0IHtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWhlYWRlcl9fbGluazpob3ZlciAjc2VydmljZS1oZWFkZXJfX2xvZ28ge1xyXG4gICAgI3NlcnZpY2UtaWNvbi10aXRsZS1sYW5kc2NhcGUge1xyXG4gICAgICAuc2VydmljZS1pY29uIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0ge1xyXG4gICAgLnByb2R1Y3QtaXRlbV9faW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI4MCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdW5zZXQ7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50ZXh0LXdpdGgtaW1hZ2UgLnRleHQtd2l0aC1pbWFnZV9fdGV4dC1hcmVhLWlubmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmhvbWUtc2VydmljZXMtc2VjdGlvbi13cmFwcGVyIHtcclxuICAgIGZpbHRlcjogbm9uZTtcclxuICB9XHJcbiAgLnNlcnZpY2UtYmFubmVyLCAuc2VydmljZS1iYW5uZXItY29udGFpbmVyIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgfVxyXG4gICYuaWUtMTAge1xyXG4gICAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgIC5zZXJ2aWNlc19faXRlbSAuc2VydmljZV9faXRlbS1ncm91cCAuc2VydmljZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuaXMtc2FmYXJpIHtcclxuICAuYW5pbWF0ZS1zdGFydC1oaWRkZW4ge1xyXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCJib2R5IHtcclxuICAjbW9vdmVfZ2Rwcl9jb29raWVfaW5mb19iYXIge1xyXG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjUwKTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgICYubW9vdmUtZ2Rwci1kYXJrLXNjaGVtZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XHJcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAubW9vdmUtZ2Rwci1pbmZvLWJhci1jb250YWluZXIge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgLm1vb3ZlLWdkcHItaW5mby1iYXItY29udGVudCB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubW9vdmUtZ2Rwci1jb29raWUtbm90aWNlIHtcclxuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vb3ZlLWdkcHItYnV0dG9uLWhvbGRlciB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICAgYnV0dG9uLm1nYnV0dG9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIC8vIFJlamVjdFxyXG4gICAgICAgICAgICAmLm1vb3ZlLWdkcHItaW5mb2Jhci1yZWplY3QtYnRuIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oJHBvZHctbWVkaXVtLWdyZXksMTAlKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQWNjZXB0XHJcbiAgICAgICAgICAgICYubW9vdmUtZ2Rwci1pbmZvYmFyLWFsbG93LWFsbCB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctZ3JlZW47XHJcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oJHBvZHctZ3JlZW4sMTAlKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iLCIuaG9tZS1zbGlkZXIge1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLnNsaWRlci1saW5rcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuICAgIGJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG4gICAgQGluY2x1ZGUgc2hvdy1mb3IobGFyZ2UpO1xyXG4gICAgei1pbmRleDogMztcclxuICAgIC5zbGlkZXItbGluay1pdGVtIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDEwMCk7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxMDApO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAuc2xpZGVyLWxpbmtfX2ljb24tY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDY2KTtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDY2KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSg2MywgNjMsIDYzLCAwLjUpO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IC44O1xyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuc3dpcGVyLXdyYXBwZXIge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuICAuc2xpZGUtaXRlbSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDM2MCk7XHJcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlcm8tb3ZlcmxheS1zbWw7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cclxuICAgIC5zbGlkZS1pdGVtcy0zLWNvbC1jb250YWluZXIge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIC5zbGlkZS1pdGVtcy0zLWNvbCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC5zbGlkZS1pdGVtLTMtY29sIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgLnNsaWRlLWl0ZW1fX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zbGlkZS1pdGVtX19jb250ZW50LXRpdGxlLXdyYXBwZXIsXHJcbiAgICAgICAgICAgIC5zbGlkZXItaXRlbV9fY29udGVudC10ZXh0IHtcclxuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSB7XHJcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3Ioc21hbGwgb25seSk7XHJcbiAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDkwKTtcclxuICAgICAgICAgICAgICAgICBtYXJnaW46MCAwIHJlbS1jYWxjKDIwKSAwO1xyXG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTI1KTtcclxuICAgICAgICAgICAgICAgICAgIG1hcmdpbjowIDAgcmVtLWNhbGMoMzApIDA7XHJcbiAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnNsaWRlLWl0ZW0tMy1jb2xfX292ZXJsYXkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGUtaXRlbV9fY29udGVudC1zZXJ2aWNlIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAuMnM7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICAgIC5zZXJ2aWNlLWxhYmVsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0IC4zcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAuc2xpZGUtaXRlbV9fY29udGVudC10aXRsZS13cmFwcGVyIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC5zbGlkZS1pdGVtX19jb250ZW50LXRpdGxlIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1cHgpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4gLjRzO1xyXG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgfVxyXG4gICAgLnNsaWRlci1pdGVtX19jb250ZW50LXRleHQge1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAuc2xpZGVyLWl0ZW1fX2NvbnRlbnQtdGV4dF9faW5uZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1cHgpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbiAuNXM7XHJcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zd2lwZXItc2xpZGUtYWN0aXZlIHtcclxuICAgICAgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZXJ2aWNlLWxhYmVsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2xpZGUtaXRlbV9fY29udGVudC10aXRsZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgIH1cclxuICAgICAgLnNsaWRlci1pdGVtX19jb250ZW50LXRleHRfX2lubmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgLmlzLWllICYge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNjAwKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlcm8tb3ZlcmxheS1scmc7XHJcbiAgICB9XHJcbiAgICAuc2xpZGUtaXRlbV9fY29udGVudCB7XHJcbiAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMiAkZGVmYXVsdC1zcGFjaW5nKjEuNTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5zbGlkZS1pdGVtX19jb250ZW50LXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1leHRyYS1ib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1Nik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDcyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygzMikgcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYnV0dG9uLS10cmFuc3BhcmVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTdweCAtMjlweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnNsaWRlLWl0ZW1fX2NvbnRlbnQtc2VydmljZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvL0BpbmNsdWRlIHNob3ctZm9yKG1lZGl1bSk7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byByZW0tY2FsYygyMCkgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDkwKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTI1KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNzYpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJvb2sge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VydmljZS1sYWJlbC1jb250YWluZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBmbGV4OjAgMCAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuc3dpcGVyLXBhZ2luYXRpb24ge1xyXG4gICAgcmlnaHQ6ICRkZWZhdWx0LXNwYWNpbmcqMztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvdHRvbTogcmVtLWNhbGMoMjUpO1xyXG4gICAgaGVpZ2h0OiByZW0tY2FsYyg4KTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgd2lkdGg6IHJlbS1jYWxjKDgpO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDQpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDQpIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmhvbWUtc2VydmljZXMtc2VjdGlvbi13cmFwcGVyIHtcclxuICBAaW5jbHVkZSBzaG93LWZvcihtZWRpdW0pO1xyXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDEwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKSk7XHJcbn1cclxuXHJcbi5ob21lLXNlcnZpY2VzLXNlY3Rpb24tY29udGFpbmVyIHtcclxuICBjbGlwLXBhdGg6IGVsbGlwc2UoMTAwJSAxMDAlIGF0IDUwJSAwKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqNDtcclxuICB9XHJcbn1cclxuXHJcbi5ob21lLXNlcnZpY2VzLXNlY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzOTApO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzMwKTtcclxuICB9XHJcbiAgLnNlcnZpY2VzLXNlY3Rpb24taGVhZGluZyB7XHJcbiAgICBAaW5jbHVkZSBzaG93LWZvcihsYXJnZSk7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgfVxyXG4gIC5zZXJ2aWNlc19faXRlbSB7XHJcbiAgICBmbGV4OiAwIDAgMjAlO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgYm9yZGVyLXRvcDogMTNweCBzb2xpZCAkYmxhY2s7XHJcbiAgICAuc2VydmljZV9faXRlbS1ncm91cCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjQgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgICAgfVxyXG4gICAgICAuc2VydmljZS1zdGVwLWxhYmVsIHtcclxuICAgICAgICB0b3A6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTkyMHB4KSB7XHJcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoLTYwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2ljb24tY29udGFpbmVyIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IobGFyZ2UpO1xyXG4gICAgICAgIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19pY29uIHtcclxuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg5Nik7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwge1xyXG4gICAgICAgIC5ib29rIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDgwMHB4KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbGlnaHQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2ljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTIzKTtcclxuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMjMpO1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHBvZHctbGlnaHQtZ3JleTtcclxuICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRkZWZhdWx0LXNwYWNpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VydmljZV9faXRlbS1ncm91cF9fbGFiZWwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgLmJvb2sge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VydmljZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcihsYXJnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zZXJ2aWNlcy1vdmVydmlldy1oZWFkZXIuc2VydmljZXMtb3ZlcnZpZXctaGVhZGVyLS1yZW1vdmUtYm9yZGVyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG4gIC5zZXJ2aWNlc19faXRlbSB7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5sYXRlc3QtcG9zdHMtZmVlZC5wb3J0cmFpdC1jYXJkcyB7XHJcbiAgcGFkZGluZzogMDtcclxuICAubGF0ZXN0LXBvc3RzLWZlZWRfX3RpdGxlIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuM3B4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICB9XHJcbn1cclxuIiwiLmxhdGVzdC10d2VldHMtc2xpZGVyLWNvbnRhaW5lciB7XHJcbiAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmcqNDtcclxuICB9XHJcbiAgLmxhdGVzdC10d2VldHMtaGVhZGluZyB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAyLjNweDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgfVxyXG4gIC50d2l0dGVyLXNsaWRlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTQ0MywgLTYsIDM5LCAzMiwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgfVxyXG4gICAgLnR3ZWV0LWl0ZW0ge1xyXG4gICAgICAudHdlZXQtaXRlbS1pbm5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgcGFkZGluZzogMCAkZGVmYXVsdC1zcGFjaW5nKjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC50d2VldC1tZXNzYWdlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgY29sb3I6ICRwb2R3LW1lZGl1bS1ncmV5O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAjMURBMUYyO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm94aW1hLW5vdmEtZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnR3ZWV0LWRldGFpbHMge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcclxuICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTQwMywgMCwgMTgsIDQ0LCBpbmxpbmUtYmxvY2spO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgfVxyXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC00MjMsIDAsIDE4LCA0NCwgaW5saW5lLWJsb2NrKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5yZXNvdXJjZS1jYXRlZ29yaWVzIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2KTtcclxuICBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbWVkaXVtLWdyZXk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAmLmF1dGhvcnMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1nb2xkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIucmVzb3VyY2UtY2F0ZWdvcnktcGFuZWxzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbjogJGRlZmF1bHQtc3BhY2luZyoyLjUgMDtcclxuICB9XHJcbiAgLnJlc291cmNlLWNhdGVnb3J5LXBhbmVsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjUpO1xyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZmxleDogMCAwIDQ4JTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5yZXNvdXJjZS1jYXRlZ29yeS1wYW5lbF9faW5uZXIge1xyXG4gICAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYm9yZGVyLXRvcDogMThweCBzb2xpZCAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgdWwge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuYXV0aG9ycyB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMThweCBzb2xpZCAkcG9kdy1nb2xkO1xyXG4gICAgICB9XHJcbiAgICAgIC5jYXRlZ29yeV9fdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDgpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoxLjU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY2F0ZWdvcnlfX3RvcC1yZXNvdXJjZS1oZWFkaW5nIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5ldmVudC1kZXRhaWxzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIC5ldmVudC1kZXRhaWxzX19lbmRlZCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG4gIC5ldmVudC1kZXRhaWxzX19ldmVudC1kYXRlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMTU0LCAtMSwgMjEsIDIwLCBpbmxpbmUtYmxvY2spO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZXZlbnQtZGV0YWlsc19fZXZlbnQtdGltZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcclxuICAgIG1hcmdpbi1sZWZ0OiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMTkzLCAtMSwgMjAsIDIwLCBpbmxpbmUtYmxvY2spO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZXZlbnQtZGV0YWlsc19fZXZlbnQtYWRkcmVzcyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmcvMjtcclxuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMTc1LCAtMSwgMTYsIDIwLCBpbmxpbmUtYmxvY2spO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmV2ZW50LWJvb2tpbmctaW5mb3JtYXRpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gIGgyLCBoMywgaDQge1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHAge1xyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmJnLWdyZXkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyozICRkZWZhdWx0LXNwYWNpbmcgIWltcG9ydGFudDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBtYXJnaW46ICRkZWZhdWx0LXNwYWNpbmcqMiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmJnLWxpZ2h0LWdyZXkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWFyZ2luOiAkZGVmYXVsdC1zcGFjaW5nKjIgMDtcclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLWludHJvIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAwIDAgJGRlZmF1bHQtc3BhY2luZyozIDA7XHJcbiAgLnNlY3Rpb24taGVhZGluZyB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgfVxyXG4gIHA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICBhIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgfVxyXG59XHJcblxyXG51bCB7XHJcbiAgbGkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICB9XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIG1heC13aWR0aDogcmVtLWNhbGMoMTkyMCk7XHJcbiAgbWFyZ2luOiBhdXRvIGF1dG87XHJcbn1cclxuIiwiQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gIC5hbmltYXRlLW1lOm5vdCguc2VydmljZS1iYW5uZXJfX2NvbnRlbnQpIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogdW5zZXQgIWltcG9ydGFudDtcclxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iLCIuaGVyby1iYW5uZXItY29udGFpbmVyLCAuc2VydmljZS1iYW5uZXItY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuLmhlcm8tYmFubmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDE4MCk7XHJcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVyby1vdmVybGF5LXNtbDtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjIgMDtcclxuICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gIC5pcy1pZSAmIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjMwKTtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzI1KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZXJvLW92ZXJsYXktbHJnO1xyXG4gICAgYm94LXNoYWRvdzogMCA1cHggMjVweCAwIHJnYmEoMTIxLCAxMjEsIDEyMSwgMC41KTtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMztcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MzMpO1xyXG4gIH1cclxuICAmLmhlcm8tYmFubmVyLS1zbWFsbGVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDE4MCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMyAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuaGVyby1jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAuaGVyby1jb250ZW50X190aXRsZSB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTYpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDcyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuaGVyby1jb250ZW50X19wYXJlbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMi41cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiLmhlcm8tbGFuZGluZy1iYW5uZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyo0ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyozO1xyXG4gICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyo2ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgfVxyXG5cclxuICAubGFuZGluZy1iYW5uZXItcHJvbW9fX2NvbnRlbnQgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0haW1wb3J0YW50OyB9XHJcblxyXG4gICAgLmxhbmRpbmctYmFubmVyLXByb21vX19jb250ZW50IC5idXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcclxuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDJlbSAwLjVlbSAyZW07XHJcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCOUM0MDAgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB9XHJcblxyXG4gIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC5sYW5kaW5nLWJhbm5lci1wcm9tb19fY29udGVudCBwIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtIWltcG9ydGFudDsgfVxyXG4gICAgLmxhbmRpbmctYmFubmVyX19jb250ZW50LXRpdGxlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Mik7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1Nik7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDcyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sYW5kaW5nLWJhbm5lci1wcm9tb19fY29udGVudCB7XHJcbiAgICAgIGNvbG9yOiAjNTU2Nzc3ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICAubGFuZGluZy1iYW5uZXItcHJvbW9fX2NvbnRlbnQtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAjNTU2Nzc3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDU2KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNzIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmxhbmRpbmctYmFubmVyLXByb21vX19jb250ZW50LXRpdGxlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAjNTU2Nzc3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nZm9ybV93cmFwcGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICBmb3JtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleDogMCAwIDkwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgIGZsZXg6IDAgMCA3MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2Zvcm1fZmllbGRzIC5nZmllbGQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nZmllbGRfbGFiZWwge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XHJcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5nZm9ybV9mb290ZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgLy9mbGV4OiAxIDAgYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogJGRlZmF1bHQtc3BhY2luZztcclxuXHJcbiAgICAgICAgLnJlY2FwdGNoYS1tZXNzYWdlIHtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5oYXMtZm9yZWdyb3VuZC1pbWFnZSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1NjApO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNjQwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZvcmVncm91bmQtaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZm9yZWdyb3VuZC1pbWctY29udGFpbmVyIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA4MHB4O1xyXG4gICAgICAgICAgcmlnaHQ6IDIwJTtcclxuICAgICAgICAgIGxlZnQ6IDgwJTtcclxuICAgICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgcmlnaHQ6IDEwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5nZm9ybV93cmFwcGVyIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sYW5kaW5nLWJhbm5lcl9fY29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnR3by1jb2x1bW4tdGV4dC1hcmVhIHtcclxuICAudGV4dC1hcmVhIHtcclxuICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIGEge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgIC5idXR0b24ge1xyXG4gICAgICBAZXh0ZW5kIC5idXR0b24tLXRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAudGV4dC1hcmVhX190aXRsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnQtcGFkZGluZy10b3Age1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC50ZXh0LWFyZWFfX3RpdGxlIHtcclxuICAgICAgcGFkZGluZy10b3A6ICRkZWZhdWx0LXNwYWNpbmcqMztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mbGV4LW9yZGVyLXJldmVyc2UtbW9iaWxlIHtcclxuICAudHdvLWNvbHVtbi10ZXh0LWFyZWEge1xyXG4gICAgLmdyaWQteCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAudGV4dC1hcmVhIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5jb25zdHJhaW5lZC10ZXh0LWFyZWEge1xyXG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xyXG4gICYuY29uc3RyYWluZWQtdGV4dC1hcmVhLS1uby1tYXJnaW4ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgLmNvbnN0cmFpbmVkLXRleHQtYXJlYV9faW5uZXIge1xyXG4gICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyIDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMyAwO1xyXG4gICAgfVxyXG4gICAgJi5uby1wYWRkaW5nIHtcclxuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAuY2VsbCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmI2J3LXByb21vIC5idXR0b24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgcGFkZGluZzogMWVtIDJlbSAxZW0gMmVtO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gIH1cclxuICAuY29uc3RyYWluZWQtdGV4dC1hcmVhX190aXRsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxuICBhIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgfVxyXG5cclxuICAmLmNvbnN0cmFpbmVkLXRleHQtY2VudGVyZWQge1xyXG4gICAgcCB7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAqIHtib3gtc2l6aW5nOiBib3JkZXItYm94fVxyXG5cclxuICAkY29sb3ItcHJpbWFyeTogI0I5QzQwMDtcclxuICAkY29sb3ItcHJpbWFyeS1saWdodDogI2VkZjBkMDtcclxuICAkY29sb3ItcHJpbWFyeS1ib3JkZXI6ICNlNWViYzM7XHJcblxyXG4uY29udGFpbmVyIHtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOiBsZWZ0IWltcG9ydGFudDt9XHJcbi5tYXh3aWR0aCB7bWF4LXdpZHRoOjc0cmVtO3dpZHRoOjEwMCU7bWFyZ2luOjAgYXV0bzt9XHJcbi51eC10ZXh0IGgyIHtmb250LXNpemU6MS40cmVtO3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1ib3R0b206LjZyZW07Y29sb3I6IzQ0NDt9XHJcbi51eC10ZXh0IGgzIHtmb250LXNpemU6MS40cmVtO3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1ib3R0b206MnJlbTtjb2xvcjokY29sb3ItcHJpbWFyeTt9XHJcbi51eC10ZXh0IHAge2NvbG9yOiM2NjY7bGluZS1oZWlnaHQ6MS44cmVtO21hcmdpbi1ib3R0b206MXJlbTtmb250LXNpemU6MXJlbTt9XHJcbi51eC10ZXh0IHA6bGFzdC1jaGlsZCB7bWFyZ2luOjA7fVxyXG5cclxuLy8gQ1NTIFxyXG4udXgtdmVydGljYWwtdGFicyB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWUsICNmZmYgMjAwcHgpO31cclxuLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiB7d2lkdGg6MjByZW07ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDogd3JhcDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO31cclxuLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXYge2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6IGNlbnRlcjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzoxLjJyZW07d2lkdGg6IDEwMCU7b3V0bGluZTogbm9uZTt0ZXh0LWFsaWduOiBsZWZ0O2N1cnNvcjogcG9pbnRlcjtib3JkZXI6MDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtib3JkZXItbGVmdDoxcHggc29saWQgI2RkZDtmb250LXNpemU6Ljg1cmVtO2NvbG9yOiM2NjY7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7fVxyXG4udXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdjpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkO31cclxuLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXY6aG92ZXIge2JhY2tncm91bmQ6JGNvbG9yLXByaW1hcnktbGlnaHQ7fVxyXG4udXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdi5hY3RpdmUge2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjA7Y29sb3I6IzIyMjt9XHJcbi51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2LmVtcHR5IHtmbGV4OjE7Ym9yZGVyOjA7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGRkO3BvaW50ZXItZXZlbnRzOiBub25lO31cclxuLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXY6aG92ZXIuZW1wdHkge2JhY2tncm91bmQ6bm9uZTt9XHJcbi51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2IHNwYW4ge3dpZHRoOiAwO2hlaWdodDogMDtib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OiA2cHggc29saWQgI2NjYzt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxcmVtKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7fVxyXG4udXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdjpob3ZlciBzcGFuIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTtvcGFjaXR5OjE7fVxyXG4udXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdi5hY3RpdmUgc3BhbiB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7Ym9yZGVyLWxlZnQ6IDZweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtvcGFjaXR5OjE7fVxyXG4udXgtdmVydGljYWwtdGFicyAubWFpbmNvbnRlbnQge2ZsZXg6MTtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLWxlZnQ6MDtwYWRkaW5nOjJyZW07b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcbi51eC12ZXJ0aWNhbC10YWJzIC5tYWluY29udGVudCAudGFiY29udGVudCB7XHJcbiAgZGlzcGxheTpub25lO1xyXG59XHJcbi51eC12ZXJ0aWNhbC10YWJzIC5tYWluY29udGVudCAudGFiY29udGVudC5hY3RpdmUge1xyXG4gIGRpc3BsYXk6ZmxleDtcclxuICBmbGV4OjE7XHJcbiAgcG9zaXRpb246cmVsYXRpdmU7fVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDUwcmVtKVxyXG4gIHtcclxuICAudXgtdmVydGljYWwtdGFicyB7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtiYWNrZ3JvdW5kOm5vbmU7fVxyXG4gIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIge3dpZHRoOjEwMCU7fVxyXG4gIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2LmVtcHR5IHtkaXNwbGF5Om5vbmU7fVxyXG4gIC51eC12ZXJ0aWNhbC10YWJzIC5tYWluY29udGVudCB7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci10b3A6MDtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlLCAjZmZmIDIwMHB4KTt9XHJcbiAgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXYge3BhZGRpbmc6MXJlbTt9XHJcbiAgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXYuYWN0aXZlIHtiYWNrZ3JvdW5kOiNlZWU7fVxyXG4gIC51eC12ZXJ0aWNhbC10YWJzIC50YWJzdjIgZGl2IHNwYW4ge3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO31cclxuICAudXgtdmVydGljYWwtdGFicyAudGFic3YyIGRpdjpob3ZlciBzcGFuIHt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt9XHJcbiAgLnV4LXZlcnRpY2FsLXRhYnMgLnRhYnN2MiBkaXYuYWN0aXZlIHNwYW4ge3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO31cclxuICAudXgtdmVydGljYWwtdGFicyAubWFpbmNvbnRlbnQge3BhZGRpbmc6MXJlbTt9XHJcbiAgfVxyXG59IiwiLnRleHQtd2l0aC1pbWFnZSB7XHJcbiAgLnRleHQtd2l0aC1pbWFnZV9faW1hZ2UtY2VsbCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50ZXh0LXdpdGgtaW1hZ2VfX3RleHQtYXJlYSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWFfX3RpdGxlIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3Qge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAmLnRleHQtd2l0aC1pbWFnZV9faW1hZ2UtbGlzdC0tcGFkZGluZy1sZWZ0IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgICAgfVxyXG4gICAgICAmLnRleHQtd2l0aC1pbWFnZV9faW1hZ2UtbGlzdC0tcGFkZGluZy1yaWdodCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICYudGV4dC13aXRoLWltYWdlX19pbWFnZS1saXN0LS1saXN0IHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xJTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xJTtcclxuICAgICAgfVxyXG4gICAgICAuaW1hZ2UtaXRlbSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIGZsZXg6IDEgMCA0OCU7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMSU7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDElO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMiU7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyNDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZS1pdGVtIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzQwKTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgIH1cclxuICB9XHJcbiAgJi50ZXh0LXdpdGgtaW1hZ2UtLXRleHQtbGVmdC13aWRlLWltYWdlLXJpZ2h0IHtcclxuICAgIC50ZXh0LXdpdGgtaW1hZ2VfX2ltYWdlLWxpc3Qge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGV4dC13aXRoLWltYWdlLS1yZW1vdmUtcmlnaHQtZ3V0dGVyIHtcclxuICAudGV4dC13aXRoLWltYWdlX19pbWFnZS1saXN0IHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHJlbS1jYWxjKDM1KSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkZGVmYXVsdC1zcGFjaW5nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnBvcnRyYWl0LWNhcmRzIHtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjIgJGRlZmF1bHQtc3BhY2luZztcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMS41JTtcclxuICAgIG1hcmdpbi1yaWdodDogLTEuNSU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMyAwO1xyXG4gIH1cclxuICAmLnBvcnRyYWl0LWNhcmQtLTQtYWNyb3NzIHtcclxuICAgIC5jYXJkIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBmbGV4OiAwIDAgMjIlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zZWN0aW9uLWludHJvIHtcclxuICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgIH1cclxuICB9XHJcbiAgLmNhcmQge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIGZsZXg6IDAgMCA0NyU7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjUlO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNSU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZsZXg6IDAgMCAzMC4zMyU7XHJcbiAgICB9XHJcbiAgICAuY2FyZF9faW1hZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgLnJlc291cmNlLWNhdGVnb3JpZXMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiByZW0tY2FsYyg4KTtcclxuICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYS5jYXJkX19pbWFnZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkX19jb250ZW50IHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgICAgfVxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIC5iZy1ncmV5ICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1ib2xkO1xyXG4gICAgICB9XHJcbiAgICAgIC5jYXJkX19jb250ZW50LXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBtYXJnaW46ICRoZWFkZXItbWFyZ2luLWJvdHRvbSAwICRoZWFkZXItbWFyZ2luLWJvdHRvbS8xLjIgMDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIubGFuZHNjYXBlLWNhcmRzIHtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjIgJGRlZmF1bHQtc3BhY2luZztcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjMgMDtcclxuICB9XHJcbiAgLmNhcmQtaXRlbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgJi5zZXJ2aWNlLWNhcmQtaXRlbTpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyo0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqNDtcclxuICAgIH1cclxuICAgIGEuY2FyZC1pdGVtX19pbWFnZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtaXRlbV9faW1hZ2Uge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgLmNhcmQtaXRlbV9faW1hZ2UtYmFkZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWRhcmstZ3JlZW47XHJcbiAgICAgICAgQGV4dGVuZCAubGFiZWwtc3RyaXA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDUpO1xyXG4gICAgICAgIHRvcDogcmVtLWNhbGMoNSk7XHJcbiAgICAgICAgei1pbmRleDogMztcclxuICAgICAgfVxyXG4gICAgICAmLmNhcmQtaXRlbV9faW1hZ2UtLW5vLWJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtaXRlbV9fY29udGVudCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgcGFkZGluZzogMCAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAuYnV0dG9uIHtcclxuICAgICAgICBAZXh0ZW5kIC5idXR0b24tLXRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNhcmQtaXRlbV9fY29udGVudC10aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5yZWxhdGVkLXNlcnZpY2VzLWNvbnRhaW5lciB7XHJcbiAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMyAwO1xyXG4gIH1cclxuICAucmVsYXRlZC1zZXJ2aWNlc19fc2VjdGlvbi10aXRsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnJlbGF0ZWQtc2VydmljZXMge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xJTtcclxuICAgIG1hcmdpbi1yaWdodDogLTElO1xyXG4gIH1cclxuICAucmVsYXRlZC1zZXJ2aWNlIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMztcclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmbGV4OiAwIDAgNDglO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMSU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMSU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAucmVsYXRlZC1zZXJ2aWNlX19iZy1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICRwb2R3LWdyZWVuO1xyXG5cclxuICAgICAgLnJlbGF0ZWQtc2VydmljZV9fbG9nby13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLnJlbGF0ZWQtc2VydmljZV9fbG9nbyB7XHJcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjApO1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoODApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDE2KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG4gICAgLnJlbGF0ZWQtc2VydmljZV9fYmcge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDQwKTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgLy9BZGQgcG9seWZpbGwvc3Vic3RpdHV0ZSBmb3IgSUVcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODtcclxuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTgwKTtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyODApO1xyXG4gICAgICB9XHJcbiAgICAgIC5pcy1pZSAmIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVsYXRlZC1zZXJ2aWNlX19jb250ZW50IHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgIHAge1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAucmVsYXRlZC1zZXJ2aWNlX19jb250ZW50LXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc3RhdGlzdGljcy1wYW5lbC1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjIgMDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjMgMDtcclxuICB9XHJcbn1cclxuXHJcbi5zdGF0aXN0aWNzLXBhbmVsIHtcclxuICAuc3RhdGlzdGljcy1pdGVtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICRib3JkZXItY29sb3VyO1xyXG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcclxuICAgIC5zdGF0aXN0aWNzLWl0ZW1fX2lubmVyIHtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgfVxyXG4gICAgLnN0YXRpc3RpY3MtaXRlbV9fdmFsdWUge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIGNvbG9yOiAkcG9kdy1ncmVlbjtcclxuICAgIH1cclxuICAgIC5zdGF0aXN0aWNzLWl0ZW1fX2RldGFpbHMge1xyXG4gICAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1saWdodDtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zdGF0aXN0aWNzLXNsaWRlciB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxuICAuc3dpcGVyLXNsaWRlIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIC8vbWFyZ2luOiAwICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zd2lwZXItcGFnaW5hdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBoaWRlLWZvcihsYXJnZSk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCIudGVzdGltb25pYWwtYmxvY2sge1xyXG4gIHBhZGRpbmc6IDAgJGRlZmF1bHQtc3BhY2luZztcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XHJcbiAgfVxyXG4gIC50ZXN0aW1vbmlhbC1jYXNlLXN0dWR5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmcqMztcclxuICAgIH1cclxuICB9XHJcbiAgLnRlc3RpbW9uaWFsLWJsb2NrX19pbm5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMUMnO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiByZW0tY2FsYygyMCk7XHJcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuMik7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2NCk7XHJcbiAgICAgICAgdG9wOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoNDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcXDIwMURcIjtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogcmVtLWNhbGMoMjApO1xyXG4gICAgICByaWdodDogcmVtLWNhbGMoMTApO1xyXG4gICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIC4yKTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY0KTtcclxuICAgICAgICB0b3A6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICByaWdodDogcmVtLWNhbGMoNDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjMgMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyo0IDA7XHJcbiAgICB9XHJcbiAgICAudGVzdGltb25pYWwtbWVzc2FnZSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgICBwOm5vdCgudGVzdGltb25pYWwtbWVzc2FnZV9fYXV0aG9yKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnRlc3RpbW9uaWFsLW1lc3NhZ2VfX2F1dGhvciB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi52aWRlby13aXRoLXRleHQge1xyXG4gIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMyAwO1xyXG4gIH1cclxuICBwIHtcclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC52aWRlby13aXRoLXRleHRfX2NvbHVtbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLnZpZGVvLXdpdGgtdGV4dF9fdGl0bGUge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnV0dG9uIHtcclxuICAgIEBleHRlbmQgLmJ1dHRvbi0tdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi5sYW5kc2NhcGUtY2FyZHMge1xyXG4gIC5zZXJ2aWNlLWNhcmQtaXRlbSB7XHJcbiAgICAuY2FyZC1pdGVtX19pbWFnZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyNDApO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzMDApO1xyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDQwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZXJ2aWNlLWNhcmRfX3NlcnZpY2UtY2lyY2xlLWljb24ge1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICB3aWR0aDogcmVtLWNhbGMoNjkpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yKGxhcmdlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiIsIi5wcm9jZXNzLWRpYWdyYW0tY29udGFpbmVyIHtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjIgJGRlZmF1bHQtc3BhY2luZztcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjMgMDtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9jZXNzLWRpYWdyYW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAmLnByb2Nlc3MtZGlhZ3JhbS0tcG9ydHJhaXQtbGF5b3V0LXByb21vIHtcclxuICAgIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0ge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlICl7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICByaWdodDogLTE1MCU7XHJcbiAgICAgICAgICB3aWR0aDogMTBlbTtcclxuICAgICAgICAgIHRvcDogcmVtLWNhbGMoMTA1KTtcclxuICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI0I5QzQwMDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYucHJvY2Vzcy1kaWFncmFtLS1wb3J0cmFpdC1sYXlvdXQge1xyXG4gICAgLnByb2Nlc3MtZGlhZ3JhbV9faXRlbSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSApe1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3JlcGVhdGFibGUtaGVsaXguc3ZnXCIpO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgcmlnaHQ6IC0xMDAlO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDc1KTtcclxuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDgpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIH1cclxuICAucHJvY2Vzcy1kaWFncmFtX19pdGVtIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tY29udGVudCB7XHJcbiAgICAgIHA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tdGl0bGUge1xyXG4gICAgICBtYXJnaW46ICRoZWFkZXItbWFyZ2luLWJvdHRvbSAwICRoZWFkZXItbWFyZ2luLWJvdHRvbS8xLjIgMDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tZGlhZ3JhbS1jb250YWluZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDk1KTtcclxuICAgICAgd2lkdGg6IHJlbS1jYWxjKDk1KTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTUzLCAxNTMsIDE1MywgMC41KTtcclxuICAgICAgei1pbmRleDogMztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTApO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogaW5pdGlhbDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMjApO1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxMjApO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDcwKTtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwMCk7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTE1KTtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDExNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICAgIGZsZXg6IDAgMCA5MCU7XHJcbiAgICAgIG1hcmdpbjogMCAyJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICAucHJvY2Vzcy1kaWFncmFtX19pdGVtLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tZGlhZ3JhbS1jb250YWluZXIge1xyXG4gICAgICAgIGZsZXg6IDAgMCByZW0tY2FsYyg5NSk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDIwMCk7XHJcbiAgICAgIG1hcmdpbjogMCAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYucHJvY2Vzcy1kaWFncmFtLS1sYW5kc2NhcGUtbGF5b3V0IHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0yJTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMiU7XHJcbiAgICB9XHJcbiAgICAucHJvY2Vzcy1kaWFncmFtX19pdGVtIHtcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbjogMCAyJTtcclxuICAgICAgICBmbGV4OiAwIDAgNDYlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyozO1xyXG4gICAgICAgIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0tdGl0bGUge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMS41O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvY2Vzcy1kaWFncmFtX19pdGVtLWRpYWdyYW0tY29udGFpbmVyIHtcclxuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMzApO1xyXG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMzApO1xyXG4gICAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDEzMCk7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODApO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg4MCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jb250ZW50LXNlY3Rpb24tcmlnaHQge1xyXG4gICAgcDpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5wcm9jZXNzLWRpYWdyYW0tLWxhbmRzY2FwZS1sYXlvdXQtd2l0aC1jb250ZW50IHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5wcm9jZXNzLWRpYWdyYW1fX2l0ZW0ge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5iZy1ncmV5IHtcclxuICAucHJvZHVjdC1saXN0LWNvbnRhaW5lciAmIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbiAgLnByb2R1Y3QtbGlzdC1jZW50ZXJlZCAucHJvZHVjdC1saXN0IHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIC5wcm9kdWN0LWl0ZW0ge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAucHJvZHVjdC1pdGVtX19pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxODApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAucHJvZHVjdC1pdGVtX19kZXRhaWxzLCAucHJvZHVjdC1pdGVtX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgLnByb2R1Y3QtaXRlbV9fZGV0YWlscy10aXRsZSB7XHJcbiAgICAgICAgICBtYXJnaW46ICRkZWZhdWx0LXNwYWNpbmcqMS4yIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctZ3JlZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuLnByb2R1Y3QtbGlzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMSU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xJTtcclxuICB9XHJcbiAgLnByb2R1Y3QtaXRlbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7ICAgIFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWl0ZW1fX2ltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGZsZXg6IDAgMCByZW0tY2FsYyg4MCk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmbGV4OiAwIDAgNDglO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMSU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMSU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZsZXg6IDAgMCAyMyU7XHJcbiAgICB9XHJcbiAgICBhLnByb2R1Y3QtaXRlbV9faW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvZHVjdC1pdGVtX19pbWFnZS1jb250YWluZXIge1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgJi5oYXMtc3BlY2lhbC1vZmZlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICdTcGVjaWFsIG9mZmVyISc7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg4KTtcclxuICAgICAgICAgIHRvcDogcmVtLWNhbGMoOCk7XHJcbiAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9kdy1ncmVlbi1zdHJpcC1zdHlsZSgpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IobGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtaXRlbV9fZGVzY3JpcHRpb24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjEuNTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1ib2xkO1xyXG4gICAgICB9XHJcbiAgICAgIHAge1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtaXRlbV9fZGV0YWlscyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuICAgICAgLnByb2R1Y3QtaXRlbV9fZGV0YWlscy10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjEuMjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBtYXJnaW46ICRkZWZhdWx0LXNwYWNpbmcqMS4yIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIG1hcmdpbjogJGRlZmF1bHQtc3BhY2luZyoxLjggMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnByb2R1Y3QtaXRlbV9fZGV0YWlscy12YWx1ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctZ3JlZW47XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNikgcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmdhbGxlcnktc2xpZGVyLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTE0MCwgLTI0LCAxMCwgMjAsIGlubGluZS1ibG9jayk7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgwLCAwLCAyMywgNDIsIGlubGluZS1ibG9jayk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTE1MywgLTI0LCAxMCwgMjAsIGlubGluZS1ibG9jayk7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMjcsIDAsIDIzLCA0MiwgaW5saW5lLWJsb2NrKTtcclxuICAgIH1cclxuICB9XHJcbiAgLmdhbGxlcnktc2xpZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5zd2lwZXItd3JhcHBlciB7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiLnNlcnZpY2UtYmFubmVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICBtaW4taGVpZ2h0OiByZW0tY2FsYygzNjApO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgLy9BZGQgcG9seWZpbGwvc3Vic3RpdHV0ZSBmb3IgSUVcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVyby1vdmVybGF5LXNtbDtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjIgMDtcclxuICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gIC5pcy1pZSAmIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg2MDApO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlcm8tb3ZlcmxheS1scmc7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICBjbGlwLXBhdGg6IGVsbGlwc2UoMTAwJSAxMDAlIGF0IDUwJSAwKTtcclxuICB9XHJcbiAgLnNlcnZpY2UtYmFubmVyX19jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDExO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIG1hcmdpbi10b3A6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAuc2VydmljZS1iYW5uZXJfX2NvbnRlbnQtdGl0bGUge1xyXG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLDAsMCwwLjUpO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoODApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctZ3JlZW47XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygzMikgcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDE0KTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcG9kdy1ncmVlbiwgNSUpO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05N3B4IC0yOXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc2VydmljZS1iYW5uZXItY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxNXB4ICMzMzMpO1xyXG4gIH1cclxufVxyXG4iLCIuZnVydGhlci1pbmZvcm1hdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMjUpO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEzMCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyozO1xyXG4gIH1cclxuICAuZnVydGhlci1pbmZvcm1hdGlvbl9fc2VydmljZS1sYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLmJvb2sge1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcclxuICAgIH1cclxuICB9XHJcbiAgLmZ1cnRoZXItaW5mb3JtYXRpb25fX3NlcnZpY2Uge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiByZW0tY2FsYygzMCk7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg4NSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHRvcDogcmVtLWNhbGMoNjApO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnV0dG9uIHtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygzMikgcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDE0KTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXNwYWNpbmcqNTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLS1oYXMtc2VydmljZSB7XHJcbiAgICAuZnVydGhlci1pbmZvcm1hdGlvbl9fY29sdW1uLWxlZnQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkcG9kdy1saWdodC1ncmV5O1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkcG9kdy1saWdodC1ncmV5O1xyXG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNyk7XHJcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjAwKTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTYwKTtcclxuICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzAwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19jb2x1bW4tcmlnaHQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRwb2R3LWxpZ2h0LWdyZXk7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkcG9kdy1saWdodC1ncmV5O1xyXG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNyk7XHJcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjAwKTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTYwKTtcclxuICAgICAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwMCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCIuYm9vay1jb3ZlcnMtc2xpZGVyLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC5zd2lwZXItd3JhcHBlciB7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgfVxyXG59XHJcbiIsIi5sYW5kaW5nLXN0cmlwIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgcGFkZGluZzogMCAkZGVmYXVsdC1zcGFjaW5nICFpbXBvcnRhbnQ7XHJcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcclxuICAmI2J3LXByb21vIC5idXR0b24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgcGFkZGluZzogMWVtIDJlbSAxZW0gMmVtO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjlDNDAwIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gIH1cclxuICBoMyB7XHJcbiAgICBtYXJnaW46ICRkZWZhdWx0LXNwYWNpbmcqMS41IDA7XHJcbiAgfVxyXG4gIC5sYW5kaW5nLXN0cmlwZV9faW1hZ2UtY2VsbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XHJcbiAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQyMCk7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubGFuZGluZy1zdHJpcGVfX3RleHQtY2VsbCB7XHJcbiAgICBwYWRkaW5nLXRvcDogJGRlZmF1bHQtc3BhY2luZyozO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICBwOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyozIDA7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc2VydmljZS1oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiA5OTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9kdy1ncmVlbjtcclxuICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nLzIgMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICYuaXMtc3R1Y2sge1xyXG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjUpICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgLnNlcnZpY2UtaGVhZGVyX19saW5rICNzZXJ2aWNlLWhlYWRlcl9fbG9nbyB7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxODApO1xyXG4gICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoOTEpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc2VydmljZS1oZWFkZXJfX21lbnUge1xyXG4gICAgICAubWVudSB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICAuc2VydmljZS1oZWFkZXJfX2xpbmsge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAjc2VydmljZS1oZWFkZXJfX2xvZ28ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxODApO1xyXG4gICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg2MCk7IC8vYWRkZWQgZm9yIGllXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDgwcHgpIHtcclxuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjIwKTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyNzIpO1xyXG4gICAgICB9XHJcbiAgICAgICNzZXJ2aWNlLWxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICAuc2VydmljZS1oZWFkZXJfX2xvZ28tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IHJlbS1jYWxjKDkwKTtcclxuICB9XHJcbiAgLnNlcnZpY2UtaGVhZGVyX19tZW51IHtcclxuICAgIC5zZXJ2aWNlLXN1Ym1lbnUtdHJpZ2dlciB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyNSk7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMSk7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvZHctc3ByaXRlKC0xNTYsIC01MywgMjUsIDUsIGlubGluZS1ibG9jayk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgaGlkZS1mb3IobGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgLm1lbnUge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgei1pbmRleDogMTI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IDAgcmdiYSgxMjEsIDEyMSwgMTIxLCAwLjEpO1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgJi5vcGVuZWQge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNyk7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI4KSAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiQGVhY2ggJGNvbG91ci1jbGFzcywgJGNvbG91ciBpbiAkc2VydmljZXMtY29sb3VyLXBhbGV0dGUge1xyXG4gIC5jb250YWluZXIuc2VydmljZS10eXBlLS0jeyRjb2xvdXItY2xhc3N9IHtcclxuICAgIC5mdXJ0aGVyLWluZm9ybWF0aW9uX19zZXJ2aWNlLWxhYmVsIHtcclxuICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9XHJcbiAgICAuc2VydmljZS1iYW5uZXIge1xyXG4gICAgICAuYnV0dG9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG91ciwgOCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhbmRzY2FwZS1jYXJkcyAuY2FyZC1pdGVtIC5jYXJkLWl0ZW1fX2NvbnRlbnQge1xyXG4gICAgICAuYnV0dG9uIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBwb2R3LXNlcnZpY2UtYnV0dG9uLWFycm93cygkY29sb3VyLWNsYXNzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRleHQtd2l0aC1pbWFnZSAudGV4dC13aXRoLWltYWdlX190ZXh0LWFyZWEge1xyXG4gICAgICAuYnV0dG9uIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBwb2R3LXNlcnZpY2UtYnV0dG9uLWFycm93cygkY29sb3VyLWNsYXNzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZpZGVvLXdpdGgtdGV4dCB7XHJcbiAgICAgIC5idXR0b24ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvZHctc2VydmljZS1idXR0b24tYXJyb3dzKCRjb2xvdXItY2xhc3MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAudHdvLWNvbHVtbi10ZXh0LWFyZWEgLnRleHQtYXJlYSB7XHJcbiAgICAgIC5idXR0b24ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvZHctc2VydmljZS1idXR0b24tYXJyb3dzKCRjb2xvdXItY2xhc3MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3RhdGlzdGljcy1wYW5lbCAuc3RhdGlzdGljcy1pdGVtIC5zdGF0aXN0aWNzLWl0ZW1fX3ZhbHVlIHtcclxuICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9XHJcbiAgICAuZnVydGhlci1pbmZvcm1hdGlvbl9fY29sdW1uLXRleHQge1xyXG4gICAgICAuYnV0dG9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvZHVjdC1saXN0IC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbV9fZGV0YWlscyAucHJvZHVjdC1pdGVtX19kZXRhaWxzLXZhbHVlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIH1cclxuICB9XHJcbiAgLmNhcmQtaXRlbS5zZXJ2aWNlLXR5cGUtLSN7JGNvbG91ci1jbGFzc30ge1xyXG4gICAgLmNhcmQtaXRlbV9faW1hZ2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLnNlcnZpY2UtdGV4dC1jb2xvdXIge1xyXG4gICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zZXJ2aWNlLWhlYWRlci5zZXJ2aWNlLXR5cGUtLSN7JGNvbG91ci1jbGFzc30ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIC5tZW51IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIH1cclxuICB9XHJcbiAgLnNlcnZpY2Utc2lkZWJhci5zZXJ2aWNlLXNpZGViYXItLSN7JGNvbG91ci1jbGFzc30ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgLnNlcnZpY2Utc2lkZWJhcl9faW1hZ2Utc2VydmljZS1uYW1lIHtcclxuICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zaWRlYmFyLXNlcnZpY2VzLWxpc3Qge1xyXG4gICAgLnNlcnZpY2UtaXRlbS0tI3skY29sb3VyLWNsYXNzfSB7XHJcbiAgICAgIC5zZXJ2aWNlLWl0ZW1fX2Rlc2NyaXB0aW9uLXNlcnZpY2Uge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zZXJ2aWNlX19pdGVtLWdyb3VwLS0jeyRjb2xvdXItY2xhc3N9IHtcclxuICAgIC5zZXJ2aWNlX19pdGVtLWdyb3VwX19sYWJlbCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgfVxyXG4gIH1cclxuICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0uc2xpZGUtaXRlbS0tI3skY29sb3VyLWNsYXNzfSxcclxuICAuaG9tZS1zbGlkZXIgLnNsaWRlLWl0ZW0tMy1jb2wuc2xpZGUtaXRlbS0tI3skY29sb3VyLWNsYXNzfXtcclxuXHJcbiAgICAgIGJvcmRlci1ib3R0b206IDEzcHggc29saWQgJGNvbG91cjtcclxuXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIH1cclxuICB9XHJcbiAgLmhvbWUtc2VydmljZXMtc2VjdGlvbiAuc2VydmljZXNfX2l0ZW0uc2VydmljZV9faXRlbS1ncm91cC0tI3skY29sb3VyLWNsYXNzfSB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgLnNlcnZpY2VfX2l0ZW0tZ3JvdXBfX2ljb24tY29udGFpbmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmVsYXRlZC1zZXJ2aWNlcyAucmVsYXRlZC1zZXJ2aWNlLnJlbGF0ZWQtc2VydmljZS0tI3skY29sb3VyLWNsYXNzfSB7XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIH1cclxuICAgIC5yZWxhdGVkLXNlcnZpY2VfX2JnLWNvbnRhaW5lciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnBvcnRyYWl0LWNhcmRzIC50ZWFtLWNhcmQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjIuNTtcclxuICAuY2FyZF9faW1hZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICBpbWcge1xyXG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYudGVhbS1jYXJkLS1oYXMtYmlvIHtcclxuICAgIC5jYXJkX19pbWFnZSB7XHJcbiAgICAgIC5tb2JpbGUtb3ZlcmxheS10cmlnZ2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMjUpO1xyXG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IobGFyZ2UpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTM4NywgLTUsIDEzLCA3LCBpbmxpbmUtYmxvY2spO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYub3BlbmVkIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNSk7XHJcbiAgICAgIC5tb2JpbGUtb3ZlcmxheS10cmlnZ2VyIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTM4NywgLTEzLCAxMywgNywgaW5saW5lLWJsb2NrKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnRlYW0tY2FyZF9fYmlvZ3JhcGh5IHtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjUpO1xyXG4gICAgICAgIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeSB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAudGVhbS1jYXJkX19iaW9ncmFwaHkge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgfVxyXG5cclxuICAudGVhbS1jYXJkX19iaW9ncmFwaHkge1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICB9XHJcbiAgICAudGVhbS1jYXJkX19iaW9ncmFwaHktdGl0bGUtd3JhcHBlciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgLnRlYW0tY2FyZF9fYmlvZ3JhcGh5LXNvY2lhbC1hY2NvdW50cyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgLnRlYW0tc29jaWFsLWljb24tLXR3aXR0ZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9kdy1zcHJpdGUoLTExOCwgLTQ3LCAyMSwgMTcsIGlubGluZS1ibG9jayk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZWFtLXNvY2lhbC1pY29uLS1saW5rZWRpbiB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBwb2R3LXNwcml0ZSgtMzY1LCAtMiwgMjEsIDIxLCBpbmxpbmUtYmxvY2spO1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZWFtLWNhcmRfX2Jpb2dyYXBoeS10aXRsZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0MCk7XHJcbiAgICB9XHJcbiAgICAudGVhbS1jYXJkX19iaW9ncmFwaHktY29udGFjdC1kZXRhaWxzIHtcclxuICAgICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuYXJ0aWNsZSB7XHJcbiAgLmFydGljbGVfX2NvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiAwIDA7XHJcbiAgICB9XHJcbiAgICAuYXJ0aWNsZV9fY29udGVudC10aXRsZSB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xyXG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1Nik7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5hcnRpY2xlX19jb250ZW50LWltYWdlIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyozO1xyXG4gICAgfVxyXG4gICAgLmFydGljbGVfX2NvbnRlbnQtc29jaWFsIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgfVxyXG4gICAgLmFydGljbGVfX2NvbnRlbnQtdGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zaW5nbGUtZXZlbnQgLmFydGljbGVfX2NvbnRlbnQgLmFydGljbGVfX2NvbnRlbnQtdGl0bGUge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuIiwiLmFydGljbGVfX2F1dGhvci1tZXRhLWRldGFpbHMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDE1KTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nOiAwIDA7XHJcbiAgfVxyXG4gIC5hcnRpY2xlX19hdXRob3Ige1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjUpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICB3aWR0aDogcmVtLWNhbGMoNzUpO1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IHJlbS1jYWxjKDc1KTtcclxuICAgIH1cclxuICB9XHJcbiAgLmFydGljbGVfX21ldGEtdHJhaWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgIC5zZXBhcmF0b3Ige1xyXG4gICAgICBmb250LXdlaWdodDogJHByb3hpbWEtbm92YS1mb250LXdlaWdodC1saWdodDtcclxuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDQpO1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuZmVhdHVyZWQtYXJ0aWNsZS1jb250YWluZXIge1xyXG4gIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICBtYXJnaW4tdG9wOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWFyZ2luLXRvcDogJGRlZmF1bHQtc3BhY2luZyo1O1xyXG4gIH1cclxuICAuZmVhdHVyZWQtYXJ0aWNsZS1jZWxsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG4gIC5mZWF0dXJlZC1hcnRpY2xlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBib3JkZXI6IDdweCBzb2xpZCAjRkZGRkZGO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4NSwgODUsIDg1LCAwLjYpO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNSk7XHJcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDM2MCk7XHJcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1zcGFjaW5nKjIuNSAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAuaXMtaWUgJiB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICdOZXcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICAgIHRvcDogJGRlZmF1bHQtc3BhY2luZztcclxuICAgICAgQGluY2x1ZGUgcG9kdy1ncmVlbi1zdHJpcC1zdHlsZSgpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzYwKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDQyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU2MCk7XHJcbiAgICB9XHJcbiAgICAuZmVhdHVyZWQtYXJ0aWNsZV9fYXV0aG9yIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyoyO1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMTUzLCAxNTMsIDE1MywgMC41KTtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNzUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmVhdHVyZWQtYXJ0aWNsZV9fdGl0bGUge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTYpO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5mZWF0dXJlZC1hcnRpY2xlX19tZXRhLXRyYWlsIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIC5zZXBhcmF0b3Ige1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWxpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg1KTtcclxuICAgICAgfVxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiLmFyY2hpdmUtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZy10b3A6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICBwYWRkaW5nLWxlZnQ6ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgcGFkZGluZy1yaWdodDogJGRlZmF1bHQtc3BhY2luZztcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICB9XHJcbiAgLmlucHV0LWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDM0MCk7XHJcbiAgICBtYXJnaW46ICRkZWZhdWx0LXNwYWNpbmcvMS41ICRkZWZhdWx0LXNwYWNpbmc7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDQ4MCkge1xyXG4gICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDM0MCk7XHJcbiAgICB9XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlbGVjdCwgaW5wdXQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi5oaXN0b3J5LXJvd3Mge1xyXG4gIHBhZGRpbmc6IDAgJGRlZmF1bHQtc3BhY2luZztcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nOiAwIDA7XHJcbiAgfVxyXG4gIC5oaXN0b3J5LWl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XHJcbiAgICB9XHJcbiAgICAuaGlzdG9yeS1pdGVtX195ZWFyIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIGZsZXg6IDAgMCA0MCU7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9oaXN0b3J5LXRpbWVsaW5lLW92YWwuc3ZnXCIpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDIpO1xyXG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQyKTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyg0Nyk7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICB6LWluZGV4OiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3JlcGVhdGFibGUtaGlzdG9yeS1kYXNoLmpwZ1wiKTtcclxuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcclxuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg3KTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyg2NSk7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5oaXN0b3J5LWl0ZW1fX3llYXItbGFiZWwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJveGltYS1ub3ZhLWZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGNvbG9yOiAkcG9kdy1tZWRpdW0tZ3JleTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEzMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGlzdG9yeS1pdGVtX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5oaXN0b3J5LW91dHJvIHtcclxuICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1zcGFjaW5nKjI7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZyo0O1xyXG4gIH1cclxuICAuaGlzdG9yeS1vdXRyb19faW5uZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBvZHctbGlnaHQtZ3JleTtcclxuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXNwYWNpbmcqMjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogJGRlZmF1bHQtc3BhY2luZyo0O1xyXG4gICAgfVxyXG4gICAgcDpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5oaXN0b3J5LW91dHJvX19pbm5lci10aXRsZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */
