@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: 64.0625em) {
  .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=64.0625em&large=87.5em&xlarge=100em&xxlarge=112.5em"; }

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

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

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

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

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 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: 75rem;
  margin: 0 auto; }

.grid-container-padded {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  @media print, screen and (min-width: 64.0625em) {
    .grid-container-padded {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    .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: 64.0625em) {
  .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: 87.5em) {
  .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; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.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: 64.0625em) {
  .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); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

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

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

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

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

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

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.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: 64.0625em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

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

.grid-y {
  display: -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: 64.0625em) {
    .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: 87.5em) {
    .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; } }
  .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: 64.0625em) {
    .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: 87.5em) {
    .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%; } }

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

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

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

.grid-frame {
  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: 64.0625em) {
  .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: 87.5em) {
  .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; } }

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

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

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

@media print, screen and (min-width: 87.5em) {
  .cell .grid-y.large-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: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: normal;
  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: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

@media print, screen and (min-width: 64.0625em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

figure {
  margin: 0; }

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

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

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  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: 64.0625em) {
  .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: 87.5em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #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: 0;
  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: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .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: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .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: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .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: #0c3d5d;
      color: #0c3d5d; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .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 #1779ba;
    color: #1779ba; }
    .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: #0c3d5d;
      color: #0c3d5d; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .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 #1779ba;
      color: #1779ba; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
      .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 #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .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: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .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: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

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

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

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
          appearance: none;
  border-radius: 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: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 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: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::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: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

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

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :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: #fefefe;
  color: #0a0a0a; }
  :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: #fefefe 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: #fefefe 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: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 64.0625em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 87.5em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 64em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

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

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

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

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

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

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    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: 64.0625em) {
    .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: 87.5em) {
    .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; } }
  .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: #1779ba;
    color: #fefefe; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.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; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba 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 #1779ba 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 #1779ba; }

@media print, screen and (min-width: 64.0625em) {
  .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: #1779ba 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 #1779ba 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 #1779ba; } }

@media print, screen and (min-width: 87.5em) {
  .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: #1779ba 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 #1779ba 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 #1779ba; } }

.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: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .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 #1779ba 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 #1779ba; }
  .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: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 64.0625em) {
      .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: #1779ba;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

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

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

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba; }

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

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

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

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

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

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

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

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

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

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

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

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

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

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

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 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: 64.0625em) {
    .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: 87.4375em) {
    .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: 99.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%; } }

.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: 64em) {
  .hide-for-small-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

.align-right {
  -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: 64.0625em) {
  .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: 87.5em) {
  .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; } }

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

.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 {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas {
      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; }

/**** TABLE OF CONTENTS ****

00. VARIABLES
0. ACCESSIBILTY TOOLBAR STYLES
1. PRELOADER STYLES
2. GENERAL STYLES
3. HEADER STYLES
  3a. Header Option One Styles
  3b. Header Option Two Styles
  3c. Header Option Three Styles
  3d. Header Option Four Styles
  3e. Mobile Off-Canvas Menu Styles
  3f. Mobile Top Bar Menu Styles
  3g. Sticky Header Styles
  3h. Header Overrides

4. HOME PAGE STYLES

5. INTERNAL PAGE STYLES
  5a. Breadcrumbs Styles
  5b. Page Title and Title Bar Styles
  5c. Full Width Page Template Styles
  5d. Post Navigation Footer Styles
  5e. Left Sidebar Page Template Styles
  5f. Sidebar Styles
  5g. Social Sharing Shortcode Styles
  5h. Gallery Shortcode Styles
  5i. Pagination Styles
  5j. Gravity Form Styles
  5k. Search Results Styles

6. BLOG PAGE AND SINGLE BLOG POST STYLES
  6a. Comments Section Styles
  6b. AJAX Blog Loop Shortcode Styles

7. PORTFOLIO STYLES

8. SERVICES STYLES

9. STAFF STYLES

10. 404 PAGE STYLES

11. IE/EDGE STYLES

12. SAFARI STYLES

13. SEARCH FORM STYLES

** END TABLE OF CONTENTS **/
/**** 00. VARIABLES ****/
/**** 0. ACCESSIBILTY TOOLBAR STYLES ****/
.screen-reader-shortcut {
  position: absolute;
  top: -624.9375rem; }
  .screen-reader-shortcut:focus {
    left: 6px;
    top: 7px;
    height: auto;
    width: auto;
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 15px 23px 14px;
    background: #f1f1f1;
    color: #0073aa;
    z-index: 100000;
    line-height: normal;
    text-decoration: none;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); }

.tooltip {
  border-radius: 0.1875rem;
  border: 0.0625rem solid #2272B4;
  color: #000000;
  font-size: 0.875rem;
  font-weight: 700;
  margin-left: 0.625rem;
  max-width: 13.75rem;
  padding: 0.375rem 0.625rem;
  width: auto; }
  .tooltip.right:before {
    border: inset 0.375rem !important;
    border-color: transparent #2272B4 transparent transparent !important;
    z-index: 10; }
  .tooltip.right:after {
    border: inset 0.5rem !important;
    border-color: transparent #2272B4 transparent transparent !important;
    content: '';
    display: block;
    height: 0;
    left: auto;
    position: absolute;
    right: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0;
    z-index: 1; }

div#a11y-toolbar {
  border: 0.0625rem solid #666666;
  border-radius: 0 0.25rem 0.25rem 0;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.25);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1002; }
  div#a11y-toolbar div#a11y-fontsize button, div#a11y-toolbar div#a11y-contrast button {
    background: rgba(255, 255, 255, 0.85);
    border-left: 0;
    cursor: pointer;
    font-size: 1.375rem;
    padding: 0.625rem 0.375rem;
    width: 100%;
    transition: all 0.2s ease-out 0s; }
    div#a11y-toolbar div#a11y-fontsize button:hover, div#a11y-toolbar div#a11y-fontsize button:focus, div#a11y-toolbar div#a11y-contrast button:hover, div#a11y-toolbar div#a11y-contrast button:focus {
      background: #FFFFFF; }
    div#a11y-toolbar div#a11y-fontsize button.a11y-fontsize, div#a11y-toolbar div#a11y-contrast button.a11y-fontsize {
      border-radius: 0 0.25rem 0 0;
      border-bottom: 0.0625rem solid #666666; }
    div#a11y-toolbar div#a11y-fontsize button.a11y-contrast, div#a11y-toolbar div#a11y-contrast button.a11y-contrast {
      border-radius: 0 0 0.25rem 0; }
    div#a11y-toolbar div#a11y-fontsize button.a11y-active, div#a11y-toolbar div#a11y-contrast button.a11y-active {
      background: #666666;
      color: #FFFFFF; }
      div#a11y-toolbar div#a11y-fontsize button.a11y-active.a11y-fontsize, div#a11y-toolbar div#a11y-contrast button.a11y-active.a11y-fontsize {
        border-bottom: 0.0625rem solid #D5CDB7 !important; }
    div#a11y-toolbar div#a11y-fontsize button span[data-tooltip], div#a11y-toolbar div#a11y-contrast button span[data-tooltip] {
      border: 0;
      cursor: pointer;
      display: block;
      text-decoration: none; }
  div#a11y-toolbar.a11y-left {
    border-left: 0; }
    @media only screen and (max-width: 40em) {
      div#a11y-toolbar.a11y-left {
        bottom: 0.9375rem;
        top: auto;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none; }
        div#a11y-toolbar.a11y-left.backtop-left {
          bottom: 4.6875rem; } }
  div#a11y-toolbar.a11y-right {
    border-radius: 0.25rem 0 0 0.25rem;
    border-right: 0;
    right: 0; }
    @media only screen and (max-width: 40em) {
      div#a11y-toolbar.a11y-right {
        bottom: 0.9375rem;
        top: auto;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none; }
        div#a11y-toolbar.a11y-right.backtop-right {
          bottom: 4.6875rem; } }
    div#a11y-toolbar.a11y-right div#a11y-fontsize button.a11y-fontsize, div#a11y-toolbar.a11y-right div#a11y-contrast button.a11y-fontsize {
      border-radius: 0.25rem 0 0 0; }
    div#a11y-toolbar.a11y-right div#a11y-fontsize button.a11y-contrast, div#a11y-toolbar.a11y-right div#a11y-contrast button.a11y-contrast {
      border-radius: 0; }

/**** TOGGLE FONTSIZE STYLES ****/
html.a11y-fontsize .bs-btn, html.a11y-fontsize .button,
html.a11y-fontsize header#masthead .alt-nav-wrapper .alt-nav-my-cart a,
html.a11y-fontsize .top-bar-social ul li.custom-button a,
html.a11y-fontsize nav.off-canvas ul.social-media-wrapper li.custom-button a,
html.a11y-fontsize nav.off-canvas .alt-nav-my-cart a {
  font-size: 1.25rem !important; }

html.a11y-fontsize p, html.a11y-fontsize a, html.a11y-fontsize li, html.a11y-fontsize span, html.a11y-fontsize time, html.a11y-fontsize strong, html.a11y-fontsize em, html.a11y-fontsize code {
  font-size: 1.25rem; }

html.a11y-fontsize h2, html.a11y-fontsize h2 span, html.a11y-fontsize h2 a {
  font-size: 2.125rem !important; }

html.a11y-fontsize h3, html.a11y-fontsize h3 span, html.a11y-fontsize h3 a,
html.a11y-fontsize body.woocommerce ul.products > li.product > a .woocommerce-loop-product__title, html.a11y-fontsize body.woocommerce-page ul.products > li.product > a .woocommerce-loop-product__title, html.a11y-fontsize div.woocommerce ul.products > li.product > a .woocommerce-loop-product__title {
  font-size: 1.875rem !important; }

html.a11y-fontsize h4, html.a11y-fontsize h4 span, html.a11y-fontsize h4 a,
html.a11y-fontsize h5, html.a11y-fontsize h5 span, html.a11y-fontsize h5 a,
html.a11y-fontsize h6, html.a11y-fontsize h6 span, html.a11y-fontsize h6 a {
  font-size: 1.625rem !important; }

html.a11y-fontsize nav.off-canvas .menu > li > a,
html.a11y-fontsize header#masthead .menu > li > a {
  font-size: 1.5rem !important;
  letter-spacing: -0.0625rem; }

html.a11y-fontsize header#masthead .site-title-bar.title-bar button.menu-icon span {
  font-size: 0.625rem !important; }

html.a11y-fontsize .breadcrumbs-wrapper #breadcrumbs li,
html.a11y-fontsize .breadcrumbs-wrapper #breadcrumbs li a,
html.a11y-fontsize body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb, html.a11y-fontsize body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb,
html.a11y-fontsize body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator, html.a11y-fontsize body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator, html.a11y-fontsize div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator,
html.a11y-fontsize body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb a, html.a11y-fontsize body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb a, html.a11y-fontsize div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb a {
  font-size: 1.125rem; }

html.a11y-fontsize .entry-content figure.wp-caption figcaption.wp-caption-text {
  font-size: 1.25rem; }

html.a11y-fontsize label,
html.a11y-fontsize .gform_wrapper .top_label .gfield_label {
  font-size: 1.25rem;
  line-height: 1.2; }

html.a11y-fontsize .gform_wrapper form .gform_body li.gfield .ginput_complex input + label {
  font-size: 1rem !important;
  line-height: 1; }

html.a11y-fontsize h1.entry-title {
  font-size: 2.5rem !important; }

html.a11y-fontsize aside.sidebar .widget h6 {
  font-size: 1.5rem !important; }

html.a11y-fontsize aside.sidebar .widget li, html.a11y-fontsize aside.sidebar .widget li a {
  font-size: 1.375rem !important;
  line-height: 1.4; }

html.a11y-fontsize #footer-container .pre-footer h4 {
  font-size: 1.75rem !important; }

html.a11y-fontsize #footer-container .pre-footer p, html.a11y-fontsize #footer-container .pre-footer a, html.a11y-fontsize #footer-container .pre-footer li, html.a11y-fontsize #footer-container .pre-footer span, html.a11y-fontsize #footer-container .pre-footer time, html.a11y-fontsize #footer-container .pre-footer strong, html.a11y-fontsize #footer-container .pre-footer em {
  font-size: 1.25rem; }

html.a11y-fontsize #footer-container .footer-container h6 {
  font-size: 1.75rem !important; }

html.a11y-fontsize #footer-container .footer-container p, html.a11y-fontsize #footer-container .footer-container a, html.a11y-fontsize #footer-container .footer-container li, html.a11y-fontsize #footer-container .footer-container span, html.a11y-fontsize #footer-container .footer-container time, html.a11y-fontsize #footer-container .footer-container strong, html.a11y-fontsize #footer-container .footer-container em {
  font-size: 1.25rem; }

html.a11y-fontsize #footer-container #copyright p, html.a11y-fontsize #footer-container #copyright a, html.a11y-fontsize #footer-container #copyright li, html.a11y-fontsize #footer-container #copyright span, html.a11y-fontsize #footer-container #copyright time, html.a11y-fontsize #footer-container #copyright strong, html.a11y-fontsize #footer-container #copyright em {
  font-size: 1.25rem; }

html.a11y-contrast a, html.a11y-contrast abbr, html.a11y-contrast article, html.a11y-contrast aside, html.a11y-contrast basefont, html.a11y-contrast bdi, html.a11y-contrast big, html.a11y-contrast blink, html.a11y-contrast blockquote, html.a11y-contrast body, html.a11y-contrast button, html.a11y-contrast canvas, html.a11y-contrast caption, html.a11y-contrast center, html.a11y-contrast code, html.a11y-contrast col, html.a11y-contrast colgroup, html.a11y-contrast command, html.a11y-contrast dd, html.a11y-contrast details, html.a11y-contrast dir, html.a11y-contrast div, html.a11y-contrast dl, html.a11y-contrast dt, html.a11y-contrast embed, html.a11y-contrast fieldset, html.a11y-contrast figcaption, html.a11y-contrast figure, html.a11y-contrast font, html.a11y-contrast footer, html.a11y-contrast form, html.a11y-contrast header, html.a11y-contrast hgroup, html.a11y-contrast html, html.a11y-contrast iframe, html.a11y-contrast img, html.a11y-contrast input, html.a11y-contrast kbd, html.a11y-contrast label, html.a11y-contrast legend, html.a11y-contrast li, html.a11y-contrast listing, html.a11y-contrast mark, html.a11y-contrast marquee, html.a11y-contrast menu, html.a11y-contrast meter, html.a11y-contrast multicol, html.a11y-contrast nav, html.a11y-contrast nobr, html.a11y-contrast object, html.a11y-contrast ol, html.a11y-contrast option, html.a11y-contrast p, html.a11y-contrast plaintext, html.a11y-contrast pre, html.a11y-contrast progress, html.a11y-contrast q, html.a11y-contrast s, html.a11y-contrast section, html.a11y-contrast select, html.a11y-contrast small, html.a11y-contrast span, html.a11y-contrast strike, html.a11y-contrast sub, html.a11y-contrast summary, html.a11y-contrast sup, html.a11y-contrast table, html.a11y-contrast td, html.a11y-contrast textarea, html.a11y-contrast th, html.a11y-contrast time, html.a11y-contrast tr, html.a11y-contrast tt, html.a11y-contrast ul, html.a11y-contrast var, html.a11y-contrast xmp, html.a11y-contrast body.woocommerce ul.products > li.product > a span.price span.amount, html.a11y-contrast body.woocommerce-page ul.products > li.product > a span.price span.amount, html.a11y-contrast div.woocommerce ul.products > li.product > a span.price span.amount, html.a11y-contrast #main-container h2, html.a11y-contrast #main-container h2 span, html.a11y-contrast #main-container h3, html.a11y-contrast #main-container h3 span, html.a11y-contrast #main-container h4, html.a11y-contrast #main-container h4 span, html.a11y-contrast #main-container h5, html.a11y-contrast #main-container h5 span, html.a11y-contrast #main-container h6, html.a11y-contrast #main-container h6 span, html.a11y-contrast .pre-footer-container .pre-footer h1, html.a11y-contrast .pre-footer-container .pre-footer h2, html.a11y-contrast .pre-footer-container .pre-footer h3, html.a11y-contrast .pre-footer-container .pre-footer h4, html.a11y-contrast .pre-footer-container .pre-footer h5, html.a11y-contrast .pre-footer-container .pre-footer h6, html.a11y-contrast .footer-container .footer h1, html.a11y-contrast .footer-container .footer h2, html.a11y-contrast .footer-container .footer h3, html.a11y-contrast .footer-container .footer h4, html.a11y-contrast .footer-container .footer h5, html.a11y-contrast .footer-container .footer h6, html.a11y-contrast span.required, html.a11y-contrast body.woocommerce span.required, html.a11y-contrast body.woocommerce-page span.required, html.a11y-contrast div.woocommerce span.required {
  color: #F3F3F3 !important; }

html.a11y-contrast a {
  color: yellow !important; }

html.a11y-contrast #main-container a, html.a11y-contrast .pre-footer-container a, html.a11y-contrast .footer-container .footer a, html.a11y-contrast #copyright a {
  text-decoration: underline !important; }

html.a11y-contrast a, html.a11y-contrast abbr, html.a11y-contrast acronym, html.a11y-contrast address, html.a11y-contrast article, html.a11y-contrast aside, html.a11y-contrast b, html.a11y-contrast basefont, html.a11y-contrast bdi, html.a11y-contrast big, html.a11y-contrast blink, html.a11y-contrast blockquote, html.a11y-contrast body, html.a11y-contrast canvas, html.a11y-contrast caption, html.a11y-contrast center, html.a11y-contrast cite, html.a11y-contrast code, html.a11y-contrast col, html.a11y-contrast colgroup, html.a11y-contrast command, html.a11y-contrast dd, html.a11y-contrast details, html.a11y-contrast dfn, html.a11y-contrast dir, html.a11y-contrast div, html.a11y-contrast dl, html.a11y-contrast dt, html.a11y-contrast em, html.a11y-contrast embed, html.a11y-contrast fieldset, html.a11y-contrast figcaption, html.a11y-contrast figure, html.a11y-contrast font, html.a11y-contrast footer, html.a11y-contrast form, html.a11y-contrast h1, html.a11y-contrast h1 a, html.a11y-contrast h1 a b, html.a11y-contrast h1 abbr, html.a11y-contrast h1 center, html.a11y-contrast h1 span, html.a11y-contrast h2, html.a11y-contrast h2 a, html.a11y-contrast h2 a b, html.a11y-contrast h2 abbr, html.a11y-contrast h2 center, html.a11y-contrast h2 span, html.a11y-contrast h3, html.a11y-contrast h3 a, html.a11y-contrast h3 a b, html.a11y-contrast h3 abbr, html.a11y-contrast h3 center, html.a11y-contrast h3 span, html.a11y-contrast h4, html.a11y-contrast h4 a, html.a11y-contrast h4 a b, html.a11y-contrast h4 abbr, html.a11y-contrast h4 center, html.a11y-contrast h4 span, html.a11y-contrast h5, html.a11y-contrast h5 a, html.a11y-contrast h5 a b, html.a11y-contrast h5 abbr, html.a11y-contrast h5 center, html.a11y-contrast h5 span, html.a11y-contrast h6, html.a11y-contrast h6 a, html.a11y-contrast h6 a b, html.a11y-contrast h6 abbr, html.a11y-contrast h6 center, html.a11y-contrast h6 span, html.a11y-contrast header, html.a11y-contrast hgroup, html.a11y-contrast html, html.a11y-contrast i, html.a11y-contrast iframe, html.a11y-contrast input, html.a11y-contrast kbd, html.a11y-contrast label, html.a11y-contrast legend, html.a11y-contrast li, html.a11y-contrast listing, html.a11y-contrast mark, html.a11y-contrast marquee, html.a11y-contrast menu, html.a11y-contrast meter, html.a11y-contrast multicol, html.a11y-contrast nav, html.a11y-contrast nobr, html.a11y-contrast object, html.a11y-contrast ol, html.a11y-contrast option, html.a11y-contrast p, html.a11y-contrast plaintext, html.a11y-contrast pre, html.a11y-contrast progress, html.a11y-contrast q, html.a11y-contrast s, html.a11y-contrast section, html.a11y-contrast small, html.a11y-contrast span, html.a11y-contrast strike, html.a11y-contrast strong, html.a11y-contrast sub, html.a11y-contrast summary, html.a11y-contrast sup, html.a11y-contrast table, html.a11y-contrast td, html.a11y-contrast textarea, html.a11y-contrast th, html.a11y-contrast time, html.a11y-contrast tr, html.a11y-contrast tt, html.a11y-contrast u, html.a11y-contrast ul, html.a11y-contrast var, html.a11y-contrast xmp, html.a11y-contrast .bs-btn, html.a11y-contrast .button, html.a11y-contrast header#masthead .top-bar-social ul.social-media-wrapper li.custom-button a {
  background-color: #000000 !important;
  color: #F3F3F3 !important; }

html.a11y-contrast input[type="text"], html.a11y-contrast input[type="email"], html.a11y-contrast input[type="password"], html.a11y-contrast input[type="tel"], html.a11y-contrast textarea, html.a11y-contrast select {
  background-color: #FFFFFF !important;
  color: #000000 !important; }

html.a11y-contrast img {
  background: #808080 !important;
  background-color: #808080 !important;
  mix-blend-mode: unset !important; }

html.a11y-contrast body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active,
html.a11y-contrast body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active a {
  background: #FFFFFF !important; }

html.a11y-contrast body.woocommerce span.onsale:before, html.a11y-contrast body.woocommerce-page span.onsale:before, html.a11y-contrast div.woocommerce span.onsale:before {
  border-top-color: #000000; }

html.a11y-contrast body.woocommerce span.onsale:after, html.a11y-contrast body.woocommerce-page span.onsale:after, html.a11y-contrast div.woocommerce span.onsale:after {
  border-bottom-color: #000000; }

/**** 1. PRELOADER STYLES ****/
#preloader {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFFFFF;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  overflow: visible;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999999; }
  #preloader .preloader-inner {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  #preloader img {
    display: block;
    height: auto;
    width: 25rem; }
    @media only screen and (max-width: 40em) {
      #preloader img {
        width: 12.5rem; } }
  #preloader .letter-holder {
    display: inline-block;
    padding: 1rem; }
  #preloader .letter {
    color: #2272B4;
    float: left;
    font-family: "rubik", Arial, Helvetica, sans-serif;
    font-size: 1.5625rem;
    font-weight: 700;
    text-transform: uppercase; }
  #preloader .animate-loading .letter {
    -webkit-animation-name: loadingF;
            animation-name: loadingF;
    -webkit-animation-duration: 1.6s;
            animation-duration: 1.6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-direction: linear;
            animation-direction: linear; }
  #preloader .l-1 {
    -webkit-animation-delay: .48s;
            animation-delay: .48s; }
  #preloader .l-2 {
    -webkit-animation-delay: .6s;
            animation-delay: .6s; }
  #preloader .l-3 {
    -webkit-animation-delay: .72s;
            animation-delay: .72s; }
  #preloader .l-4 {
    -webkit-animation-delay: .84s;
            animation-delay: .84s; }
  #preloader .l-5 {
    -webkit-animation-delay: .96s;
            animation-delay: .96s; }
  #preloader .l-6 {
    -webkit-animation-delay: 1.08s;
            animation-delay: 1.08s; }
  #preloader .l-7 {
    -webkit-animation-delay: 1.2s;
            animation-delay: 1.2s; }
  #preloader .l-8 {
    -webkit-animation-delay: 1.32s;
            animation-delay: 1.32s; }
  #preloader .l-9 {
    -webkit-animation-delay: 1.44s;
            animation-delay: 1.44s; }
  #preloader .l-10 {
    -webkit-animation-delay: 1.56s;
            animation-delay: 1.56s; }

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

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

.admin-bar #preloader img {
  margin-top: 1rem; }
  @media only screen and (max-width: 782px) {
    .admin-bar #preloader img {
      margin-top: 1.4375rem; } }

/**** 2. GENERAL STYLES ****/
* {
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
      hyphens: none !important; }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="submit"],
textarea,
select,
button {
  -webkit-appearance: none !important;
  -moz-apperance: none !important; }

a[href^=tel] {
  text-decoration: none;
  -webkit-appearance: none !important;
  -moz-apperance: none !important; }

a {
  font-family: "rubik", Arial, Helvetica, sans-serif; }

p, li {
  font-size: calc(1rem + 0.25 * ( (100vw - 30rem) / 57.5)) !important;
  font-family: "rubik", Arial, Helvetica, sans-serif;
  font-weight: 500; }
  @media screen and (max-width: 30rem) {
    p, li {
      font-size: 1rem !important; } }
  @media screen and (min-width: 87.5rem) {
    p, li {
      font-size: 1.25rem !important; } }
  p span:not([class*='fa']), p time, li span:not([class*='fa']), li time {
    font-weight: inherit !important; }

p {
  margin-bottom: 3.125vw !important; }
  @media only screen and (min-width: 87.5625rem) {
    p {
      margin-bottom: 3rem !important; } }
  @media only screen and (max-width: 47.9375em) {
    p {
      margin-bottom: 2.1875rem !important; } }

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

.pipe-separator {
  display: inline-block;
  font-size: 125%;
  line-height: 1.5625rem;
  margin: 0 0.375rem; }

button.menu-icon {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: none;
  color: #2272B4;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-size: 0.625rem;
  height: 1.875rem;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  letter-spacing: -.01rem;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left;
  text-transform: lowercase;
  -webkit-transform-origin: 50% 50% !important;
      -ms-transform-origin: 50% 50% !important;
          transform-origin: 50% 50% !important;
  width: 1.875rem;
  transition: all 0.85s ease-out 0s; }
  button.menu-icon:before, button.menu-icon:after {
    display: none !important; }
  button.menu-icon span.menu-icon-bar {
    background: #FDC000 !important;
    height: 0.25rem;
    opacity: 1;
    width: 1.875rem;
    transition: all 0.35s ease-in-out 0.15s; }
    button.menu-icon span.menu-icon-bar.menu-icon-bar-2 {
      transition: all 0.65s ease-in-out 0s; }
  button.menu-icon.active {
    -webkit-transform: rotate(360deg) translateX(0.625rem);
        -ms-transform: rotate(360deg) translateX(0.625rem);
            transform: rotate(360deg) translateX(0.625rem);
    width: 2.25rem;
    transition: all 0.75s ease-in-out 0s; }
    button.menu-icon.active span.menu-icon-bar {
      background: #FFFFFF !important;
      -webkit-transform-origin: 0 50% !important;
          -ms-transform-origin: 0 50% !important;
              transform-origin: 0 50% !important;
      width: 100%;
      transition: all 0.35s ease-in-out 0s; }
    button.menu-icon.active span.menu-icon-bar-1 {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    button.menu-icon.active span.menu-icon-bar-2 {
      opacity: 0;
      width: 0;
      transition: all 0.65s ease-out 0.35s; }
    button.menu-icon.active span.menu-icon-bar-3 {
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "rubik", Arial, Helvetica, sans-serif;
  font-weight: 500;
  line-height: 1.25;
  text-align: left; }
  h1.aligncenter, h2.aligncenter, h3.aligncenter, h4.aligncenter, h5.aligncenter, h6.aligncenter {
    text-align: center; }
  h1.alignleft, h2.alignleft, h3.alignleft, h4.alignleft, h5.alignleft, h6.alignleft {
    text-align: left; }
  h1.alignright, h2.alignright, h3.alignright, h4.alignright, h5.alignright, h6.alignright {
    text-align: right; }

h2, h2 span {
  font-size: 2rem; }

h3, h3 span {
  font-size: 1.625rem; }

h4, h4 span {
  font-size: 1.3125rem; }

h5, h5 span {
  font-size: 1.1875rem; }

h6, h6 span {
  font-size: 1.125rem; }

@media only screen and (max-width: 37.5em) {
  .alignright, .alignleft, .aligncenter, .alignnone {
    float: none;
    margin: 0 0 1.25rem 0;
    padding: 0;
    width: 100%; } }

@media only screen and (max-width: 37.5em) {
  figure.alignright img, figure.alignleft img, figure.aligncenter img, figure.alignnone img {
    height: auto;
    width: 100%; } }

.section-heading {
  float: none !important; }
  .section-heading span.section-heading-inner {
    display: inline-block;
    line-height: 1.1;
    margin-bottom: 1.25rem !important;
    padding-bottom: 0.625rem !important;
    position: relative; }
    .section-heading span.section-heading-inner:after {
      background: #2272B4;
      bottom: 0;
      content: '';
      display: block;
      height: 0.1875rem;
      left: 0;
      max-width: 9.375rem;
      position: absolute;
      width: 100%; }
    .section-heading span.section-heading-inner span[class*="fa-"] {
      color: inherit !important; }
  .section-heading.aligncenter span.section-heading-inner:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .section-heading.alignright span.section-heading-inner:after {
    left: 100%;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }

span.sub-title {
  display: block;
  font-size: 65%;
  margin: 0.625rem 0; }

.pl15 {
  padding-left: 0.9375rem !important; }

.pr15 {
  padding-right: 0.9375rem !important; }

.mt15 {
  margin-top: 0.9375rem !important; }

.mb15 {
  margin-bottom: 0.9375rem !important; }

.vcard abbr {
  border: 0 !important;
  text-decoration: none !important;
  cursor: text !important; }

.vcard .type {
  display: none; }

.off-canvas-content.is-open-right {
  height: 100vh;
  overflow: hidden; }

.off-canvas-content header#masthead {
  margin: 0 auto; }

.off-canvas-content.is-transition-overlap header#masthead {
  box-shadow: 0 0.1875rem 0.625rem rgba(0, 0, 0, 0.5); }

ul.pagination {
  display: inline-block;
  text-align: center;
  width: 100%; }
  ul.pagination li {
    display: inline-block; }

/* Foundation 6 Tabs Styles */
.tabs {
  border: 0;
  overflow: hidden; }
  .tabs .tabs-title {
    margin-right: 0.25rem; }
    @media only screen and (max-width: 47.9375em) {
      .tabs .tabs-title {
        margin-right: 0;
        width: 100%; } }
    .tabs .tabs-title a {
      background: #2272B4;
      border: 0.0625rem solid #2272B4;
      bottom: -0.0625rem;
      color: #FFFFFF;
      font-size: 1rem;
      font-weight: 700;
      padding: 0.75rem 0.9375rem;
      position: relative;
      text-decoration: none !important;
      transition: padding 0.2s ease-out 0s; }
      @media only screen and (max-width: 47.9375em) {
        .tabs .tabs-title a {
          border-top: 0;
          border-bottom: 0.0625rem solid #D5CDB7;
          box-shadow: 0 -0.125rem 0.4375rem #001e61; } }
    .tabs .tabs-title.is-active a {
      background: #b01f23;
      border-bottom: 0.0625rem solid #D5CDB7;
      color: #FFFFFF; }
    @media only screen and (max-width: 47.9375em) {
      .tabs .tabs-title.is-active:first-child a {
        border-top: 0.0625rem solid #2272B4; } }
    @media only screen and (max-width: 47.9375em) {
      .tabs .tabs-title.is-active:last-child a {
        border-bottom: 0.0625rem solid #2272B4; } }

.tabs-content {
  background: #D5CDB7;
  border-top: 0.0625rem solid #2272B4; }

/* Foundation 6 Accordion Styles */
.accordion {
  margin-bottom: 0;
  overflow: hidden; }
  .accordion .accordion-item .accordion-title {
    background: #2272B4;
    border: 0.0625rem solid #2272B4;
    border-radius: 0;
    color: #FFFFFF;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 0.75rem 0.9375rem;
    position: relative;
    text-decoration: none !important;
    transition: padding 0.2s ease-out 0s; }
    .accordion .accordion-item .accordion-title:before {
      font-size: 1.25rem;
      margin-top: 0;
      right: 0.9375rem;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      transition: all 0.2s ease-out 0s; }
  .accordion .accordion-item .accordion-content {
    background: #D5CDB7;
    border: 0; }
  .accordion .accordion-item:last-child {
    margin-bottom: 0 !important; }
  .accordion.rounded .accordion-item .accordion-title {
    border-radius: 0.25rem !important; }
    .accordion.rounded .accordion-item .accordion-title[aria-expanded="true"] {
      border-radius: 0.25rem 0.25rem 0 0 !important; }
  .accordion.rounded .accordion-item .accordion-content {
    border-radius: 0 0 0.25rem 0.25rem; }
  .accordion.chevron .accordion-item .accordion-title:before, .accordion.triangle .accordion-item .accordion-title:before {
    content: '\f078' !important;
    font-family: 'Font Awesome 5 Pro';
    -webkit-transform-origin: 50%;
        -ms-transform-origin: 50%;
            transform-origin: 50%; }
  .accordion.chevron .accordion-item .accordion-title[aria-expanded="true"]:before, .accordion.triangle .accordion-item .accordion-title[aria-expanded="true"]:before {
    -webkit-transform: translateY(-50%) rotate(180deg);
        -ms-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg); }
  .accordion.triangle .accordion-item .accordion-title:before {
    content: '\f0d7' !important; }

.off-canvas-content #footer-container {
  max-width: none;
  margin: 0 auto;
  padding: 0; }

.hide-for-now {
  display: none;
  visibility: hidden;
  width: 1px;
  height: 1px;
  position: absolute;
  speak: none;
  left: -9999px; }

.the-tags {
  display: inline-block;
  width: 100%;
  margin: 2.5rem 0;
  text-align: left; }
  .the-tags a {
    display: inline-block;
    margin-bottom: 0.3125rem; }

.keep-together {
  display: inline-block !important; }

body.modal-active {
  overflow: hidden; }

.bs-btn, .gform_footer input.gform_button, #respond .button {
  background: #FDC000;
  border: 0.125rem solid #FDC000;
  border-radius: 12.5rem;
  color: #000000;
  display: inline-block;
  font-size: calc(1rem + 0.125 * ( (100vw - 30rem) / 57.5)) !important;
  font-weight: 500 !important;
  letter-spacing: 0.375rem;
  line-height: 1 !important;
  padding: 1.125rem 2.5rem !important;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: all 0.2s ease-out 0s; }
  @media screen and (max-width: 30rem) {
    .bs-btn, .gform_footer input.gform_button, #respond .button {
      font-size: 1rem !important; } }
  @media screen and (min-width: 87.5rem) {
    .bs-btn, .gform_footer input.gform_button, #respond .button {
      font-size: 1.125rem !important; } }

.bs-btn.bs-btn-white {
  background: #FFFFFF;
  border: 0.125rem solid #FFFFFF; }

.bs-btn.bs-btn-white:hover,
.bs-btn.bs-btn-white:focus {
  background: #000000;
  border: 0.125rem solid #000000;
  color: #FFFFFF; }

.bs-btn.bs-btn-red {
  background: #b01f23;
  border: 0.125rem solid #b01f23;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-red:hover,
.bs-btn.bs-btn-red:focus {
  background: #000000;
  border: 0.125rem solid #000000;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-blue {
  background: #2272B4 !important;
  border: 0.125rem solid #2272B4 !important;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-blue:hover,
.bs-btn.bs-btn-blue:focus {
  background: #000000 !important;
  border: 0.125rem solid #000000 !important;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-clear {
  background: none !important;
  border: 0.125rem solid #FFFFFF !important;
  color: #000000 !important; }

.bs-btn.bs-btn-clear:hover,
.bs-btn.bs-btn-clear:focus {
  background: #000000 !important;
  border: 0.125rem solid #000000 !important;
  color: #FFFFFF !important; }

.bs-btn.bs-btn-black {
  background: #000000;
  border: 0.125rem solid #000000;
  color: #FFFFFF; }

.bs-btn.bs-btn-black:hover,
.bs-btn.bs-btn-black:focus {
  background: #FFFFFF;
  border: 0.125rem solid #000000;
  color: #000000; }

.bs-btn:hover,
.bs-btn:focus,
.gform_footer input.gform_button:hover,
.gform_footer input.gform_button:focus,
#respond .button:hover,
#respond .button:focus {
  background: #000000;
  border: 0.125rem solid #000000;
  color: #FFFFFF;
  -webkit-transform: scale(1.1) !important;
      -ms-transform: scale(1.1) !important;
          transform: scale(1.1) !important; }

.bs-btns-wrapper {
  text-align: left;
  width: 100%; }
  @media only screen and (max-width: 37.5em) {
    .bs-btns-wrapper {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      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; } }
  .bs-btns-wrapper .bs-btn {
    display: inline-block;
    margin: 0 0.625rem 0.625rem 0; }
    @media only screen and (max-width: 37.5em) {
      .bs-btns-wrapper .bs-btn {
        margin: 0.625rem 0.3125rem 0;
        text-align: center;
        width: auto; } }

img.lazyload {
  min-height: 12.5rem;
  width: 100%; }

img.lazyloaded {
  opacity: 1; }

.max-width-sixteen-hundred {
  max-width: 100rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-fourteen-hundred {
  max-width: 87.5rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-twelve-eighty {
  width: 100%;
  max-width: 80rem;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-twelve-hundred {
  width: 100%;
  max-width: 75rem;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-eleven-fifty {
  width: 100%;
  max-width: 71.875rem;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-ten-twentyfour {
  width: 100%;
  max-width: 64rem;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-nine-seventy {
  max-width: 60.625rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-eight-thirty {
  max-width: 51.875rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.max-width-eight-hundred {
  max-width: 50rem !important;
  margin-left: auto !important;
  margin-right: auto !important; }

ul.slick-dots {
  line-height: 1;
  list-style: none;
  margin: 3.125vw 0 0;
  text-align: center; }
  ul.slick-dots li {
    background: #D5CDB7;
    border: 0;
    border-radius: 100%;
    cursor: pointer !important;
    display: inline-block;
    height: 1.0625rem;
    margin: 0 0.6875rem;
    position: relative;
    text-indent: -9999px;
    width: 1.0625rem;
    z-index: 100; }
    ul.slick-dots li.slick-active {
      background: #FDC000; }

button.slick-arrow {
  bottom: -0.4375rem;
  color: #2272B4;
  cursor: pointer;
  font-size: 2rem;
  line-height: 2rem;
  height: 2rem;
  padding-right: calc(3.125vw * 3);
  position: absolute;
  text-align: right;
  width: 50%;
  transition: all 0.2s ease-out 0s; }
  button.slick-arrow.slick-next {
    left: 50%;
    padding-left: calc(3.125vw * 3);
    padding-right: 0;
    text-align: left; }
  button.slick-arrow.slick-disabled {
    cursor: not-allowed;
    opacity: .25; }

.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  line-height: 1.25;
  margin-bottom: 0.3125rem; }

.entry-content h2 {
  text-transform: uppercase; }

.entry-content h2 + h3, .entry-content h3 + h4, .entry-content h4 + h5, .entry-content h5 + h6 {
  margin-top: 1rem; }

.entry-content blockquote {
  border-left: 0 !important;
  padding: 0; }
  .entry-content blockquote p {
    color: #003565 !important;
    font-size: calc(1.5rem + 0.6875 * ( (100vw - 30rem) / 57.5)) !important;
    font-weight: 500;
    line-height: 1.2 !important; }
    @media screen and (max-width: 30rem) {
      .entry-content blockquote p {
        font-size: 1.5rem !important; } }
    @media screen and (min-width: 87.5rem) {
      .entry-content blockquote p {
        font-size: 2.1875rem !important; } }
    .entry-content blockquote p:last-of-type {
      margin-bottom: 0 !important; }

.entry-content figure.wp-caption figcaption.wp-caption-text {
  font-size: 0.875rem;
  font-style: italic;
  padding: 0.25rem;
  text-align: center; }

.entry-content ul.row {
  margin-left: 1.25rem; }

.entry-content ul.row li.columns {
  padding-left: 0; }

.entry-content ul.row .column:last-child:not(:first-child),
.entry-content ul.row .columns:last-child:not(:first-child),
.entry-content ol.row .column:last-child:not(:first-child),
.entry-content ol.row .columns:last-child:not(:first-child) {
  float: left; }

.entry-content p + ul, .entry-content p + ol {
  margin-top: -0.9375rem; }

.entry-content .alignwide {
  margin-left: -5rem;
  margin-right: -5rem; }

.entry-content div.alignfull, .entry-content section.alignfull, .entry-content article.alignfull, .entry-content header.alignfull, .entry-content main.alignfull, .entry-content footer.alignfull, .entry-content aside.alignfull, .entry-content nav.alignfull {
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  max-width: 100vw; }

.entry-content .alignfull img, .entry-content figure.alignfull {
  max-width: 100%;
  width: 100vw; }

.entry-content .inner-width-sixteen-hundred > [class*="__inner-wrap"] {
  max-width: 100rem; }

.entry-content .inner-width-fourteen-hundred > [class*="__inner-wrap"] {
  max-width: 87.5rem; }

.entry-content .inner-width-twelve-hundred > [class*="__inner-wrap"] {
  max-width: 75rem; }

.entry-content .inner-width-eleven-seventy > [class*="__inner-wrap"] {
  max-width: 73.125rem; }

.entry-content .inner-width-eight-forty > [class*="__inner-wrap"] {
  max-width: 52.5rem; }

.readable-line-length {
  max-width: 50rem;
  margin: 0 auto; }

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

.readable-line-length.text-align-center {
  margin-right: auto !important;
  margin-left: auto !important;
  display: block; }

.has-tip {
  border-bottom: 0;
  font-weight: inherit !important; }

.tooltip {
  background: #2272B4;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.25);
  color: #FFFFFF; }
  .tooltip.top:before {
    border-width: 0.5rem !important;
    border-top-color: #2272B4 !important; }
  .tooltip.bottom:before {
    border-width: 0.5rem !important;
    border-bottom-color: #2272B4 !important; }
  .tooltip.left:before {
    border-width: 0.5rem !important;
    border-left-color: #2272B4 !important; }
  .tooltip.right:before {
    border-width: 0.5rem !important;
    border-right-color: #2272B4 !important; }

/* Default Page Styles */
.main-wrap .main-content {
  margin: 0 1.5625rem; }
  .main-wrap .main-content a {
    text-decoration: underline; }
  @media only screen and (max-width: 47.9375em) {
    .main-wrap .main-content {
      -webkit-order: 1 !important;
          -ms-flex-order: 1 !important;
              order: 1 !important;
      width: calc(100% - 3.125rem) !important; } }

body:not(.home) .main-wrap {
  margin-top: 4rem;
  margin-bottom: 4rem; }
  @media only screen and (max-width: 64em) {
    body:not(.home) .main-wrap {
      margin-top: 4rem;
      margin-bottom: 4rem; } }

/* Copyright Styles */
#copyright {
  padding: 0 1.5625rem 1.5625rem;
  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; }
  @media only screen and (max-width: 64em) {
    #copyright {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  #copyright p {
    margin-bottom: 0; }
  #copyright ul.social-media-wrapper {
    list-style: none;
    margin: 0;
    text-align: right; }
    @media only screen and (max-width: 64em) {
      #copyright ul.social-media-wrapper {
        text-align: center;
        width: 100%; } }
    #copyright ul.social-media-wrapper li {
      display: inline-block;
      font-size: 1.25rem;
      height: 2.25rem;
      line-height: 2.25rem;
      width: 2.25rem; }
  @media only screen and (max-width: 64em) {
    #copyright .small-12.medium-12.large-7 {
      margin-bottom: 0.625rem; }
      #copyright .small-12.medium-12.large-7 p {
        text-align: center; } }

#back-top {
  position: fixed;
  bottom: 0.9375rem;
  right: 0;
  z-index: 100; }
  #back-top a {
    color: #FFFFFF;
    display: inline-block;
    height: 2.5rem;
    line-height: 2.5rem;
    opacity: .75;
    text-align: center;
    width: 2.8125rem;
    transition: all 0.2s ease-out 0s; }
    #back-top a:hover, #back-top a:focus {
      opacity: 1; }
  #back-top.backtop-right {
    left: auto;
    right: 0; }
    #back-top.backtop-right a {
      border-radius: 0.25rem 0 0 0.25rem; }
  #back-top.backtop-left {
    left: 0;
    right: auto; }
    #back-top.backtop-left a {
      border-radius: 0 0.25rem 0.25rem 0; }
  #back-top.backtop-center {
    bottom: 0;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    #back-top.backtop-center a {
      border-radius: 0.25rem 0.25rem 0 0;
      height: 1.875rem;
      line-height: 1.875rem; }

/**** 3. HEADER STYLES ****/
header#masthead {
  background-size: cover;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 3.125rem 0 0.625rem;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 99; }
  header#masthead #header-inner {
    padding-left: 1.5625rem;
    padding-right: 1.5625rem;
    width: 100%; }
    @media only screen and (max-width: 64em) {
      header#masthead #header-inner {
        padding-left: 0;
        padding-right: 0; } }
  @media only screen and (max-width: 64em) {
    header#masthead .site-title-bar.title-bar {
      padding-left: 1.5625rem;
      padding-right: 1.5625rem; } }
  header#masthead nav.top-bar {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    background: none;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    header#masthead nav.top-bar .top-bar-top {
      margin-bottom: 1rem;
      width: 100%; }
      header#masthead nav.top-bar .top-bar-top .top-bar-title {
        margin-right: 0; }
    header#masthead nav.top-bar .top-bar-social {
      list-style: none;
      margin: 0 0 2rem 0; }
      header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: 0; }
        header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li {
          display: inline-block;
          font-size: 1.5rem;
          height: 3.75rem;
          margin-left: 1.875rem;
          position: relative;
          text-align: center;
          vertical-align: top;
          width: 2.25rem;
          z-index: 99; }
          header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper {
            font-size: 1.125rem;
            z-index: 100; }
            header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform {
              right: -0.5625rem;
              margin: 0 !important;
              position: absolute !important; }
              @media only screen and (max-width: 40em) {
                header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform {
                  left: 0;
                  right: auto; } }
              header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform.show {
                margin: 0 !important; }
                @media only screen and (max-width: 40em) {
                  header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.inline-social-search-wrapper form#searchform.show {
                    left: 0;
                    right: auto; } }
          header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.telephone {
            margin-left: 0;
            margin-bottom: 0.625rem;
            text-align: right;
            width: 100%; }
            @media only screen and (max-width: 64em) {
              header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.telephone {
                text-align: center; } }
            header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.telephone a {
              font-weight: 700; }
          header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.custom-button {
            height: auto;
            width: auto !important; }
            header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.custom-button a {
              border-radius: 6.25rem;
              font-size: calc(1rem + 0.125 * ( (100vw - 30rem) / 57.5)) !important;
              font-weight: 500;
              letter-spacing: 0.375rem;
              text-transform: uppercase;
              display: block;
              line-height: 1;
              padding: 1.125rem 3.75rem;
              width: auto !important; }
              @media screen and (max-width: 30rem) {
                header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.custom-button a {
                  font-size: 1rem !important; } }
              @media screen and (min-width: 87.5rem) {
                header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li.custom-button a {
                  font-size: 1.125rem !important; } }
          @media only screen and (max-width: 64em) {
            header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li {
              margin-left: 0; } }
        header#masthead nav.top-bar .top-bar-social ul.social-media-wrapper li a {
          display: block; }
    header#masthead nav.top-bar .above-menu-search-wrapper form#searchform,
    header#masthead nav.top-bar .inline-social-search-wrapper form#searchform,
    header#masthead nav.top-bar .menu-search-wrapper form#searchform {
      margin: 0;
      max-width: none !important;
      opacity: 0;
      right: 0;
      top: 0;
      width: 0 !important;
      z-index: -1;
      transition: all 0.45s ease-in-out 0.15s; }
      @media only screen and (max-width: 64em) {
        header#masthead nav.top-bar .above-menu-search-wrapper form#searchform,
        header#masthead nav.top-bar .inline-social-search-wrapper form#searchform,
        header#masthead nav.top-bar .menu-search-wrapper form#searchform {
          left: 0;
          right: auto; } }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform.show,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform.show,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform.show {
        margin: 0;
        opacity: 1;
        width: calc(3.125vw * 8) !important;
        z-index: 99; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform:after,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform:after,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform:after {
        display: none; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform .input-group,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform .input-group,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform .input-group {
        background: #FFFFFF;
        margin: 0; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#s,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#s,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform input#s {
        border: 0;
        box-shadow: none;
        height: auto;
        line-height: 3.75rem;
        padding: 0 0.3125rem; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#searchsubmit,
      header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#searchsubmit,
      header#masthead nav.top-bar .menu-search-wrapper form#searchform input#searchsubmit {
        background: #2272B4;
        border: 0;
        border-radius: 0 !important;
        font-family: "rubik", Arial, Helvetica, sans-serif !important;
        font-size: 1.125rem;
        font-weight: 700;
        height: 3.75rem;
        line-height: 3.75rem;
        margin: 0;
        padding: 0 0.625rem;
        text-indent: -9999px;
        text-transform: uppercase;
        width: 3.75rem;
        transition: all 0.2s ease-out 0s; }
        header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#searchsubmit:hover, header#masthead nav.top-bar .above-menu-search-wrapper form#searchform input#searchsubmit:focus,
        header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#searchsubmit:hover,
        header#masthead nav.top-bar .inline-social-search-wrapper form#searchform input#searchsubmit:focus,
        header#masthead nav.top-bar .menu-search-wrapper form#searchform input#searchsubmit:hover,
        header#masthead nav.top-bar .menu-search-wrapper form#searchform input#searchsubmit:focus {
          background: #000000; }
    header#masthead nav.top-bar .above-menu-search-wrapper {
      margin: 0.75rem 0 0 0; }
      header#masthead nav.top-bar .above-menu-search-wrapper form#searchform {
        margin: 0;
        opacity: 1;
        overflow: hidden;
        padding: 0;
        top: 0;
        visibility: visible; }
        header#masthead nav.top-bar .above-menu-search-wrapper form#searchform:after {
          display: none; }
  header#masthead .logo-wrapper.hide-for-small-only .custom-logo-link {
    display: block;
    padding: 0 !important;
    text-align: center;
    width: 100%; }
    header#masthead .logo-wrapper.hide-for-small-only .custom-logo-link img.custom-logo,
    header#masthead .logo-wrapper.hide-for-small-only .custom-logo-link svg {
      display: block;
      height: auto;
      margin: 0;
      width: 100%; }
  header#masthead .alt-nav-wrapper {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 0.625rem 0;
    width: 100%; }
    header#masthead .alt-nav-wrapper .alt-nav-my-cart {
      margin-left: 0.625rem;
      margin-top: 0.625rem;
      text-align: center; }
      header#masthead .alt-nav-wrapper .alt-nav-my-cart a {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        border-radius: 6.25rem;
        display: inline-block;
        font-family: "rubik", Arial, Helvetica, sans-serif;
        font-size: 0.9375rem !important;
        font-weight: 700;
        padding: 0.4375rem 0.9375rem;
        text-transform: uppercase;
        width: auto;
        transition: all 0.2s ease-out 0s; }
      header#masthead .alt-nav-wrapper .alt-nav-my-cart i,
      header#masthead .alt-nav-wrapper .alt-nav-my-cart span[class*="fa-"] {
        display: inline;
        font-size: 1.125rem;
        margin-right: 0.125rem; }
      header#masthead .alt-nav-wrapper .alt-nav-my-cart span.cart-contents {
        background: #FFFFFF;
        border-radius: 100%;
        color: #2272B4;
        display: inline-block;
        line-height: 1.25rem;
        height: 1.25rem;
        margin: 0 0 0 0.3125rem;
        min-width: 1.25rem;
        text-align: center !important; }
    header#masthead .alt-nav-wrapper .menu {
      background: none;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      header#masthead .alt-nav-wrapper .menu > li {
        margin-left: 0.5rem;
        padding-left: 0.5rem;
        border-left: 0.0625rem solid #666666;
        border-right: 0; }
        header#masthead .alt-nav-wrapper .menu > li:first-child {
          margin-left: 0;
          padding-left: 0;
          border-left: 0; }
        header#masthead .alt-nav-wrapper .menu > li > a {
          background: none;
          font-family: "rubik", Arial, Helvetica, sans-serif;
          font-size: 1rem;
          font-weight: 700;
          line-height: 1;
          padding: 0 !important;
          text-transform: uppercase; }
        header#masthead .alt-nav-wrapper .menu > li.is-active > a {
          color: inherit; }
  header#masthead .desktop-menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 100%; }
  header#masthead .desktop-menu.menu > li {
    display: inline-block !important; }
  header#masthead .desktop-menu.menu > li > a {
    white-space: nowrap;
    line-height: 2.25rem;
    font-weight: 500; }
    header#masthead .desktop-menu.menu > li > a:before {
      content: '' !important;
      width: 0;
      height: 0.25rem;
      display: block !important;
      display: none !important;
      position: absolute;
      bottom: 0;
      left: 0;
      transition: width 0.2s ease-out 0s; }
    header#masthead .desktop-menu.menu > li > a:hover:before {
      width: 100%; }
  header#masthead .desktop-menu.menu > li:last-of-type ul.dropdown {
    left: auto;
    right: 0; }
  header#masthead .menu > li {
    float: none;
    display: inline-block; }
  header#masthead .menu > li > a {
    background: none;
    padding: 0 !important;
    font-size: 1.3125rem;
    font-weight: 700;
    font-family: "rubik", Arial, Helvetica, sans-serif;
    line-height: 1;
    text-transform: uppercase; }
  header#masthead .menu > li.menu-item-has-children > a {
    position: relative;
    padding-left: 0 !important;
    padding-right: 0 !important; }
  header#masthead .menu > li.menu-item-has-children > a:before {
    display: none; }
  header#masthead .menu > li:not(:last-child) {
    border-right: 0; }
  header#masthead .menu .active > a {
    background: none;
    color: #FFFFFF; }
  header#masthead .menu > li {
    position: relative; }
  header#masthead .menu .dropdown {
    background: none !important;
    box-shadow: 0 0.5rem 2rem -0.5rem rgba(0, 0, 0, 0.25);
    border: 0 !important;
    min-width: 12.5rem;
    display: block;
    visibility: hidden;
    opacity: 0;
    margin-top: 1.625rem;
    padding: 0;
    z-index: -1;
    text-align: left;
    transition: all 0.25s ease-out 0.25s; }
  header#masthead .menu .dropdown li {
    background: none !important; }
  header#masthead .menu .dropdown li a {
    background: rgba(255, 255, 255, 0.9) !important;
    height: auto;
    line-height: 1.1;
    font-size: calc(1rem + 0.125 * ( (100vw - 30rem) / 57.5)) !important;
    font-weight: 500;
    padding: 1.125rem 1.5625rem 1.125rem !important;
    display: block;
    position: relative;
    text-align: center;
    text-transform: none;
    white-space: pre-wrap;
    transition: all 0.2s ease-out 0s; }
    @media screen and (max-width: 30rem) {
      header#masthead .menu .dropdown li a {
        font-size: 1rem !important; } }
    @media screen and (min-width: 87.5rem) {
      header#masthead .menu .dropdown li a {
        font-size: 1.125rem !important; } }
    header#masthead .menu .dropdown li a:hover, header#masthead .menu .dropdown li a:focus {
      background: #2272B4 !important; }
  header#masthead .menu .dropdown li {
    transition: background 0.2s ease-out 0s; }
  header#masthead .menu .dropdown li a:hover:after {
    content: ''; }
  header#masthead .menu .dropdown li:after {
    display: none; }
  header#masthead .menu > li.is-active:hover .dropdown,
  header#masthead .menu > li.is-active:focus .dropdown,
  header#masthead .menu > li:focus-within .dropdown {
    visibility: visible;
    opacity: 1;
    margin-top: 0.375rem;
    z-index: 1;
    transition: all 0.25s ease-out 0s; }
  header#masthead .menu > li.opens-left > .is-dropdown-submenu {
    left: 0;
    top: 100%; }
  header#masthead .menu > li.opens-left:last-child > .is-dropdown-submenu {
    left: auto;
    right: 0;
    margin-right: 0; }
  header#masthead .menu > li.is-dropdown-submenu-parent > a::after {
    display: none; }
  header#masthead nav.top-bar.has-search .desktop-menu {
    padding-right: 3rem !important;
    width: 100% !important; }

@media only screen and (max-width: 39.9375em) {
  .title-bar {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

/* 3a. Header Option One Styles */
header#masthead.header-option-one {
  padding: 1.5625rem 0 0.375rem; }
  header#masthead.header-option-one .top-bar {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: none;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    header#masthead.header-option-one .top-bar .top-bar-left {
      width: 100%;
      max-width: 22.5rem; }
      @media only screen and (max-width: 64em) {
        header#masthead.header-option-one .top-bar .top-bar-left {
          max-width: 100%; } }
      header#masthead.header-option-one .top-bar .top-bar-left .top-bar-title {
        margin: 0; }
      header#masthead.header-option-one .top-bar .top-bar-left .logo-wrapper.hide-for-small-only .custom-logo-link {
        padding: 0 0 0.625rem 0 !important;
        text-align: left; }
    header#masthead.header-option-one .top-bar .top-bar-right {
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      padding-left: 2.5rem;
      position: relative;
      width: calc(100% - 22.5rem); }
      @media only screen and (max-width: 64em) {
        header#masthead.header-option-one .top-bar .top-bar-right {
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          padding-left: 0;
          width: 100%; } }
      header#masthead.header-option-one .top-bar .top-bar-right .alt-nav-wrapper {
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
        @media only screen and (max-width: 64em) {
          header#masthead.header-option-one .top-bar .top-bar-right .alt-nav-wrapper {
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
        header#masthead.header-option-one .top-bar .top-bar-right .alt-nav-wrapper .alt-nav-my-cart {
          margin-left: 0.625rem;
          margin-top: 0;
          text-align: right; }
      header#masthead.header-option-one .top-bar .top-bar-right .top-bar-social {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
        header#masthead.header-option-one .top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
          text-align: right; }
      header#masthead.header-option-one .top-bar .top-bar-right .desktop-menu {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3; }
        header#masthead.header-option-one .top-bar .top-bar-right .desktop-menu > li {
          margin-left: calc(3.125vw * 1.65); }
          header#masthead.header-option-one .top-bar .top-bar-right .desktop-menu > li:first-child {
            margin-left: 0; }
  header#masthead.header-option-one .above-menu-search-wrapper {
    margin-bottom: 0.625rem; }
  header#masthead.header-option-one .above-menu-search-wrapper,
  header#masthead.header-option-one .inline-social-search-wrapper {
    height: 2.25rem;
    position: relative; }
    @media only screen and (max-width: 64em) {
      header#masthead.header-option-one .above-menu-search-wrapper form#searchform,
      header#masthead.header-option-one .inline-social-search-wrapper form#searchform {
        margin: 0 auto !important; } }
  header#masthead.header-option-one nav.top-bar ul.menu li.current-menu-item > a,
  header#masthead.header-option-one nav.top-bar ul.menu li.current_page_parent > a {
    background: none !important;
    color: #2272B4 !important; }
  header#masthead.header-option-one nav.top-bar ul.menu li.current-menu-item.is-submenu-item > a {
    background: #2272B4 !important;
    color: #FFFFFF !important; }
  header#masthead.header-option-one nav.top-bar .menu-search-wrapper {
    bottom: 0;
    height: 3.75rem;
    position: absolute;
    right: 0;
    width: 2.25rem; }
    header#masthead.header-option-one nav.top-bar .menu-search-wrapper button {
      cursor: pointer !important;
      font-size: 1.5rem;
      height: 2.25rem;
      line-height: 3.75rem;
      text-align: right;
      vertical-align: top;
      width: 2.25rem;
      transition: all 0.2s ease-out 0s; }
    header#masthead.header-option-one nav.top-bar .menu-search-wrapper form#searchform:after {
      display: none; }
    header#masthead.header-option-one nav.top-bar .menu-search-wrapper form#searchform.show {
      margin: 0; }
  header#masthead.header-option-one nav.top-bar .inline-social-search-wrapper button {
    text-align: center; }
  header#masthead.header-option-one nav.top-bar .inline-social-search-wrapper form#searchform:after {
    content: '';
    display: block !important; }

@media only screen and (max-width: 64em) {
  header#masthead.header-option-one {
    display: block; }
    header#masthead.header-option-one .logo-wrapper {
      text-align: center; }
    header#masthead.header-option-one .logo-wrapper img {
      display: block;
      margin: 0 auto; }
    header#masthead.header-option-one nav.top-bar .top-bar-title a {
      display: inline-block;
      padding: 0;
      margin-bottom: 1rem; }
    header#masthead.header-option-one nav.top-bar .top-bar-right .alt-nav-wrapper {
      width: 100%; }
      header#masthead.header-option-one nav.top-bar .top-bar-right .alt-nav-wrapper ul.menu {
        margin: 0.625rem 0;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
    header#masthead.header-option-one nav.top-bar .top-bar-right .top-bar-social {
      width: 100%; }
      header#masthead.header-option-one nav.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
        text-align: center;
        margin-bottom: 1rem; }
    header#masthead.header-option-one nav.top-bar .top-bar-right > .dropdown.menu.desktop-menu {
      width: 100%;
      padding: 0;
      margin-right: auto; }
    header#masthead.header-option-one nav.top-bar .top-bar-right form#searchform {
      left: auto; }
      header#masthead.header-option-one nav.top-bar .top-bar-right form#searchform.show {
        margin: 0; } }

@media only screen and (max-width: 64em) {
  header#masthead.header-option-one {
    padding: 0 !important; }
    header#masthead.header-option-one .logo-wrapper.hide-for-small-only {
      display: none !important; }
    header#masthead.header-option-one .top-bar {
      padding: 0 !important; } }

/* 3b. Header Option Two Styles */
/* 3c. Header Option Three Styles */
/* 3d. Header Option Four Styles */
/* 3e. Mobile Off-Canvas Menu Styles */
.title-bar-left {
  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; }
  .title-bar-left .title-bar-title a.custom-logo-link {
    width: 100%;
    max-width: 15.625rem;
    display: inline-block; }
    .title-bar-left .title-bar-title a.custom-logo-link img,
    .title-bar-left .title-bar-title a.custom-logo-link svg {
      width: 100%;
      height: auto;
      display: block; }
      @media only screen and (max-width: 40em) {
        .title-bar-left .title-bar-title a.custom-logo-link img,
        .title-bar-left .title-bar-title a.custom-logo-link svg {
          max-width: 12.5rem; } }

@media only screen and (max-width: 40em) {
  body:not(.topbar) nav.site-navigation {
    display: none !important; } }

@media only screen and (max-width: 40em) {
  body.topbar header:not(.header-option-one) nav.site-navigation .top-bar-right,
  body.topbar header:not(.header-option-one) nav.site-navigation .top-bar-top,
  body.topbar header:not(.header-option-one) nav.site-navigation .top-bar-bottom .menu-search-wrapper {
    display: none !important; } }

@media only screen and (max-width: 40em) {
  body.topbar header#masthead.header-option-three nav.site-navigation .menu-search-wrapper {
    display: none !important; } }

html nav.off-canvas {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  background: rgba(90, 177, 224, 0.95);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 0;
  height: 100vh;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  overflow: scroll !important;
  padding: 0 1.5625rem 1.5625rem;
  position: absolute;
  -webkit-transform: translateY(-100%) !important;
      -ms-transform: translateY(-100%) !important;
          transform: translateY(-100%) !important;
  width: 100vw !important;
  transition: all 0.5s ease-in-out 0s; }
  html nav.off-canvas > ul.menu {
    max-width: 30rem;
    margin: 30vw auto 0;
    opacity: 0;
    padding: 0;
    width: 100%;
    transition: all 0.25s ease-out 0.15s; }
  html nav.off-canvas ul.menu li.current_page_parent > a,
  html nav.off-canvas ul.menu li.current-menu-item > a,
  html nav.off-canvas ul.menu li.active > a {
    background: none;
    color: #FFFFFF;
    text-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.25); }
  html nav.off-canvas a.custom-logo-link {
    display: inline-block;
    width: 100%;
    padding: 0 1rem; }
    html nav.off-canvas a.custom-logo-link img.custom-logo {
      display: block;
      margin: 0.625rem auto;
      width: 100%;
      height: auto; }
  html nav.off-canvas form#searchform {
    opacity: 0;
    margin-top: 2.5rem !important;
    transition: all 0.25s ease-out 0.15s; }
  html nav.off-canvas .menu:not(.nested) > li {
    border-bottom: 0.125rem solid #2272B4;
    margin: 0.5rem 0;
    padding: 0.5rem 0; }
    html nav.off-canvas .menu:not(.nested) > li:last-child {
      border-bottom: 0;
      margin: 0;
      padding: 0.625rem 0 0; }
  html nav.off-canvas .menu:not(.nested) > li > a {
    font-size: 1.375rem !important;
    font-weight: 500;
    padding: 0 0 0.875rem 0;
    text-transform: uppercase; }
  html nav.off-canvas .menu.nested {
    margin-left: 0; }
    html nav.off-canvas .menu.nested > li > a {
      font-size: 1.25rem;
      font-weight: 400;
      padding-left: 0 !important;
      white-space: normal; }
  html nav.off-canvas .submenu-toggle {
    background: #FDC000;
    border-radius: 0.5rem;
    color: #FFFFFF;
    height: 2.5rem;
    top: -0.125rem; }
    html nav.off-canvas .submenu-toggle:after {
      border: 0 !important;
      color: #000000;
      content: '\f078';
      font-family: "Font Awesome 5 Pro", "fontawesome";
      font-size: 1.25rem;
      height: 2.5625rem;
      line-height: 2.5625rem;
      position: absolute;
      top: 0;
      width: 2.5rem;
      transition: all 0.2s ease-out 0s; }
  html nav.off-canvas ul.menu.alt-menu {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  html nav.off-canvas > .menu > li.is-active > a,
  html nav.off-canvas .submenu li.is-active a {
    color: #FFFFFF; }
    html nav.off-canvas > .menu > li.is-active > a:hover, html nav.off-canvas > .menu > li.is-active > a:focus,
    html nav.off-canvas .submenu li.is-active a:hover,
    html nav.off-canvas .submenu li.is-active a:focus {
      color: #FFFFFF; }
  html nav.off-canvas ul.social-media-wrapper {
    max-width: 30rem;
    margin: 2.5rem auto 0.9375rem;
    opacity: 0;
    padding: 0;
    text-align: left;
    width: 100%;
    transition: all 0.25s ease-out 0.15s; }
    html nav.off-canvas ul.social-media-wrapper li {
      display: inline-block;
      font-size: 1.5rem;
      height: 2.75rem;
      line-height: 2.75rem;
      width: auto; }
      html nav.off-canvas ul.social-media-wrapper li.custom-button a {
        display: block;
        border-radius: 6.25rem;
        font-weight: 500 !important;
        height: 2.75rem;
        line-height: 2.75rem !important;
        letter-spacing: 0.375rem;
        padding: 0 !important;
        text-transform: uppercase; }
    html nav.off-canvas ul.social-media-wrapper li a {
      display: block;
      text-align: center; }
    html nav.off-canvas ul.social-media-wrapper li.custom-button {
      width: auto;
      display: block;
      max-width: 100%;
      margin: 0;
      text-align: left; }
      html nav.off-canvas ul.social-media-wrapper li.custom-button a {
        display: inline-block;
        font-family: "rubik", Arial, Helvetica, sans-serif;
        font-size: 1rem !important;
        font-weight: 700;
        line-height: 1;
        padding: 0 2rem !important;
        width: auto;
        transition: all 0.2s ease-out 0s; }
    html nav.off-canvas ul.social-media-wrapper li.custom-button.top-bar-my-cart a {
      display: block;
      padding: 0.5rem 0.625rem; }
    html nav.off-canvas ul.social-media-wrapper li.custom-button.top-bar-my-cart i {
      display: inline;
      font-size: 1.125rem;
      margin-right: 0.125rem; }
    html nav.off-canvas ul.social-media-wrapper li.custom-button.top-bar-my-cart span.cart-contents {
      background: #FFFFFF;
      border-radius: 100%;
      color: #2272B4;
      display: inline-block;
      line-height: 1.25rem;
      height: 1.25rem;
      margin: 0 0 0 0.3125rem;
      min-width: 1.25rem; }
    html nav.off-canvas ul.social-media-wrapper li.menu-search-wrapper {
      display: none; }
  html nav.off-canvas .alt-nav-my-cart {
    text-align: center; }
    html nav.off-canvas .alt-nav-my-cart a {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background: #b01f23;
      color: #FFFFFF;
      display: block;
      font-family: "rubik", Arial, Helvetica, sans-serif;
      font-size: 0.9375rem !important;
      font-weight: 700;
      max-width: calc(100% - 2rem);
      margin: 0.9375rem auto 0.9375rem;
      padding: 0.4375rem 0.625rem;
      text-transform: uppercase;
      width: 100%;
      transition: all 0.2s ease-out 0s; }
      html nav.off-canvas .alt-nav-my-cart a:hover, html nav.off-canvas .alt-nav-my-cart a:focus {
        background: #2272B4; }
    html nav.off-canvas .alt-nav-my-cart i {
      display: inline;
      font-size: 1.125rem;
      margin-right: 0.125rem; }
    html nav.off-canvas .alt-nav-my-cart span.cart-contents {
      background: #FFFFFF;
      border-radius: 100%;
      color: #2272B4;
      display: inline-block;
      line-height: 1.25rem;
      height: 1.25rem;
      margin: 0 0 0 0.3125rem;
      min-width: 1.25rem;
      text-align: center; }
  html nav.off-canvas.is-open {
    height: 100vh;
    opacity: 1;
    -webkit-transform: translateY(0%) !important;
        -ms-transform: translateY(0%) !important;
            transform: translateY(0%) !important;
    transition: all 0.75s ease-out 0s; }
    html nav.off-canvas.is-open > ul.menu {
      opacity: 1;
      margin: 10vw auto 0;
      transition: all 1s ease-out 0.4s; }
      @media only screen and (max-width: 40em) {
        html nav.off-canvas.is-open > ul.menu {
          margin: 5vw auto 0; } }
    html nav.off-canvas.is-open ul.social-media-wrapper {
      margin: 1.25rem auto 0.9375rem;
      opacity: 1;
      transition: all 1s ease-out 0.65s; }
    html nav.off-canvas.is-open form#searchform {
      opacity: 1;
      margin-top: 1.25rem !important;
      transition: all 1s ease-out 0.9s; }

/* 3f. Mobile Top Bar Menu Styles */
body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu {
  padding: 0.9375rem;
  width: 100%; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu-toggle {
    background: #b01f23;
    color: #FFFFFF;
    height: 2.52375rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu-toggle:after {
      border-top-color: #FFFFFF; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu > ul.menu {
    padding: 0; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.menu.alt-menu {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10 !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.menu.alt-menu li {
      width: 100%; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .menu:not(.nested) > li > a {
    font-size: 1.125rem !important;
    font-weight: 700;
    padding: 0.6875rem 0 !important;
    text-transform: uppercase; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .menu.nested {
    margin-left: 0; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .menu.nested > li > a {
      font-size: 1rem !important;
      font-weight: 600;
      padding: 0.625rem 1.25rem !important;
      text-transform: none !important;
      white-space: normal; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu > .menu > li.is-active > a,
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu li.is-active a {
    color: #b01f23; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu > .menu > li.is-active > a:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu > .menu > li.is-active > a:focus,
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu li.is-active a:hover,
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .submenu li.is-active a:focus {
      color: #b01f23; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper {
    margin: 0 0 0.625rem 0;
    text-align: left; }
    @media only screen and (max-width: 40em) {
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li {
      border: 0;
      display: inline-block;
      vertical-align: top;
      width: 2.25rem;
      height: 2.25rem;
      margin-left: 0;
      margin-bottom: 0.5rem;
      text-align: center;
      position: relative;
      z-index: 99;
      font-size: 1.5rem;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li i, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li span[class*="fa-"] {
        width: 100% !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.inline-social-search-wrapper {
      font-size: 1.25rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li:not(.custom-button):after {
      width: 2.25rem;
      height: 2.25rem;
      content: '';
      display: block;
      position: absolute;
      z-index: -1;
      top: 0;
      left: 0;
      border-radius: 100%;
      opacity: 0;
      -webkit-transform: scale(0);
          -ms-transform: scale(0);
              transform: scale(0);
      transition: all 250ms ease-out; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.inline-social-search-wrapper {
      width: auto; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.menu-search-wrapper {
      display: none; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button {
      width: 100%; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button a {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        font-family: "rubik", Arial, Helvetica, sans-serif;
        font-size: 0.9375rem !important;
        font-weight: 700;
        padding: 0 0.625rem;
        position: relative;
        text-transform: uppercase;
        width: 100%;
        transition: all 0.2s ease-out 0s; }
        body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button a:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button a:focus {
          background: #000000 !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.top-bar-my-cart i, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.top-bar-my-cart span[class*="fa-"],
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.alt-nav-my-cart i,
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.alt-nav-my-cart span[class*="fa-"] {
      display: inline;
      font-size: 1.125rem;
      margin-right: 0.125rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.top-bar-my-cart span.cart-contents,
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button.alt-nav-my-cart span.cart-contents {
      background: #FFFFFF;
      border-radius: 100%;
      color: #2272B4;
      display: inline-block;
      line-height: 1.25rem;
      height: 1.25rem;
      margin: 0 0 0 0.3125rem;
      min-width: 1.25rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a i, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a span[class*="fa-"] {
      display: block;
      font-size: 1.5rem;
      width: 2.25rem;
      height: 2.25rem;
      line-height: 2.25rem;
      padding: 0; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a:focus, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a i:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a i:focus, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a span[class*="fa-"]:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a span[class*="fa-"]:focus {
        background: none !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li a span[class*="fa-"] {
      font-weight: 400 !important; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu ul.social-media-wrapper li.custom-button a {
      padding: 0 0.625rem; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart {
    text-align: center; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart a {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background: #b01f23;
      color: #FFFFFF;
      display: block;
      font-family: "rubik", Arial, Helvetica, sans-serif;
      font-size: 0.9375rem !important;
      font-weight: 700;
      max-width: 100%;
      margin: 0.4375rem 0 0.9375rem;
      padding: 0.5rem 0.625rem;
      text-transform: uppercase;
      width: 100%;
      transition: all 0.2s ease-out 0s; }
      body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart a:hover, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart a:focus {
        background: #2272B4; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart i, body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart span[class*="fa-"] {
      display: inline;
      font-size: 1.125rem;
      font-weight: inherit !important;
      margin-right: 0.125rem; }
    body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu .alt-nav-my-cart span.cart-contents {
      background: #FFFFFF;
      border-radius: 100%;
      color: #2272B4;
      display: inline-block;
      line-height: 1.25rem;
      height: 1.25rem;
      margin: 0 0 0 0.3125rem;
      min-width: 1.25rem;
      text-align: center; }
  body.topbar header#masthead .top-bar nav#mobile-menu.mobile-menu.vertical.menu form#searchform {
    max-width: 100% !important;
    width: 100% !important; }

/* 3g. Sticky Header Styles */
@media only screen and (min-width: 40.0625rem) {
  #masthead {
    will-change: opacity, transform; }
  body.sticky-prep #masthead.sticky-header {
    opacity: 0;
    position: fixed;
    width: 100%;
    top: 0;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%); }
  body.admin-bar.sticky-prep #masthead.sticky-header {
    opacity: 0;
    top: 0;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%); }
  body.sticky-header.sticky-prep #masthead.sticky-header {
    opacity: 1;
    top: 0;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    transition: opacity 1s, -webkit-transform 1s;
    transition: transform 1s, opacity 1s;
    transition: transform 1s, opacity 1s, -webkit-transform 1s; }
  body.admin-bar.sticky-header.sticky-prep #masthead.sticky-header {
    opacity: 1;
    top: 2rem;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    transition: opacity 1s, -webkit-transform 1s;
    transition: transform 1s, opacity 1s;
    transition: transform 1s, opacity 1s, -webkit-transform 1s; } }

/* 3h. Header Overrides */
.top-bar .top-bar-social li.custom-button a {
  font-size: 0.9375rem !important;
  font-weight: 700;
  text-align: center; }

.top-bar .top-bar-social li.custom-button.top-bar-my-cart i, .top-bar .top-bar-social li.custom-button.top-bar-my-cart span[class*='fa-'] {
  display: inline;
  font-size: 1.125rem;
  margin-right: 0.125rem; }

.top-bar .top-bar-social li.custom-button.top-bar-my-cart span.cart-contents {
  background: #FFFFFF;
  border-radius: 100%;
  color: inherit;
  display: inline-block;
  line-height: 1.25rem;
  height: 1.25rem;
  margin: 0 0 0 0.3125rem;
  min-width: 1.25rem; }

.top-bar ul.social-media-wrapper .menu-search-wrapper {
  border-left: 0 !important; }

/**** 4. HOME PAGE STYLES ****/
.home-hero-wrapper {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .home-hero-wrapper:before {
    content: '';
    background: white;
    background: linear-gradient(150deg, white 0%, rgba(118, 192, 232, 0.49) 50%, rgba(34, 114, 180, 0.73) 100%);
    display: block !important;
    height: 100%;
    opacity: .85;
    position: absolute;
    top: 0;
    width: 100%; }
  .home-hero-wrapper .home-hero-caption {
    margin-left: auto;
    margin-right: auto;
    max-width: 64rem;
    padding: 5vw 1.5625rem;
    width: 100%; }
    .home-hero-wrapper .home-hero-caption h2 {
      color: #FFFFFF !important;
      font-size: calc(2rem + 1.4375 * ( (100vw - 30rem) / 57.5)) !important;
      font-weight: 500;
      margin-bottom: 1.5rem;
      text-align: center;
      text-transform: uppercase; }
      @media screen and (max-width: 30rem) {
        .home-hero-wrapper .home-hero-caption h2 {
          font-size: 2rem !important; } }
      @media screen and (min-width: 87.5rem) {
        .home-hero-wrapper .home-hero-caption h2 {
          font-size: 3.4375rem !important; } }
    .home-hero-wrapper .home-hero-caption p {
      color: #FFFFFF !important;
      line-height: 2;
      margin-bottom: 1.5rem;
      font-size: calc(1.125rem + 0.375 * ( (100vw - 30rem) / 57.5)) !important;
      text-align: center; }
      @media screen and (max-width: 30rem) {
        .home-hero-wrapper .home-hero-caption p {
          font-size: 1.125rem !important; } }
      @media screen and (min-width: 87.5rem) {
        .home-hero-wrapper .home-hero-caption p {
          font-size: 1.5rem !important; } }
      .home-hero-wrapper .home-hero-caption p:last-of-type {
        margin-bottom: 0; }
    .home-hero-wrapper .home-hero-caption .bs-btn:hover, .home-hero-wrapper .home-hero-caption .bs-btn:focus {
      background: #FDC000 !important;
      border-color: #FDC000;
      color: #000000 !important; }

.home .main-wrap.full-width {
  margin-top: 0;
  max-width: 100%; }
  .home .main-wrap.full-width .main-content {
    margin: 0 !important;
    width: 100% !important; }
    .home .main-wrap.full-width .main-content .entry-content h2 {
      font-size: calc(2rem + 1.4375 * ( (100vw - 30rem) / 57.5)) !important; }
      @media screen and (max-width: 30rem) {
        .home .main-wrap.full-width .main-content .entry-content h2 {
          font-size: 2rem !important; } }
      @media screen and (min-width: 87.5rem) {
        .home .main-wrap.full-width .main-content .entry-content h2 {
          font-size: 3.4375rem !important; } }

@media only screen and (max-width: 40em) {
  .home .main-wrap .main-content {
    margin-right: 0;
    margin-left: 0;
    width: 100%; }
  .main-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important; } }

/**** 5. INTERNAL PAGE STYLES ****/
/* 5a. Breadcrumbs Styles */
.breadcrumbs-wrapper {
  padding: 0 0.9375rem; }
  .breadcrumbs-wrapper #breadcrumbs {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 1rem 0; }
    .breadcrumbs-wrapper #breadcrumbs li {
      float: none;
      font-family: "rubik", Arial, Helvetica, sans-serif !important;
      font-size: 0.875rem;
      font-weight: 700;
      text-transform: none; }
      .breadcrumbs-wrapper #breadcrumbs li:after {
        display: none; }
      .breadcrumbs-wrapper #breadcrumbs li a {
        font-family: "rubik", Arial, Helvetica, sans-serif !important;
        font-size: 0.875rem;
        font-weight: 700; }
    .breadcrumbs-wrapper #breadcrumbs li.separator {
      font-size: 0.875rem;
      font-weight: 700;
      margin: 0 0.625rem; }

/* 5b. Page Title and Title Bar Styles */
h1.entry-title {
  font-size: 2.5rem;
  position: relative;
  z-index: 10; }
  @media only screen and (max-width: 40em) {
    h1.entry-title {
      font-size: 2rem; } }

.featured-hero-title-bar {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  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;
  position: relative; }
  .featured-hero-title-bar:before {
    background: rgba(34, 114, 180, 0.86);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.86) 0%, rgba(34, 114, 180, 0.86) 100%);
    content: '';
    opacity: 0.93;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1; }
  .featured-hero-title-bar h1.entry-title {
    color: #002445;
    margin: 0 auto;
    max-width: 75rem;
    padding: 0 1.5625rem;
    text-align: left;
    text-transform: uppercase;
    width: 100%; }
    .featured-hero-title-bar h1.entry-title + p.search-query {
      margin: 0 auto;
      max-width: 75rem;
      padding: 0 1.5625rem;
      text-align: left;
      text-shadow: none;
      width: 100%; }
  .featured-hero-title-bar time,
  .featured-hero-title-bar p.byline.author,
  .featured-hero-title-bar p.bs-post-date,
  .featured-hero-title-bar p.bs-post-cats,
  .featured-hero-title-bar p.bs-post-comments,
  .featured-hero-title-bar p.search-query,
  .featured-hero-title-bar ul li,
  .featured-hero-title-bar span {
    margin-bottom: 0;
    position: relative;
    text-shadow: 0 0.125rem 0.0625rem #000000;
    z-index: 10; }
  .featured-hero-title-bar ul {
    display: block;
    list-style: none;
    margin-bottom: 0;
    margin-left: -0.75rem;
    text-align: center;
    width: 100%; }
    .featured-hero-title-bar ul li {
      display: inline-block;
      padding: 0 0 0 0.75rem; }
  .featured-hero-title-bar .bs-entry-meta p i,
  .featured-hero-title-bar .bs-entry-meta p span {
    display: inline-block;
    text-align: center;
    width: 1.25rem; }
  .featured-hero-title-bar .bs-entry-meta p.bs-post-date {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .featured-hero-title-bar .bs-entry-meta p.byline.author {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
    .featured-hero-title-bar .bs-entry-meta p.byline.author a {
      font-weight: 700; }
  .featured-hero-title-bar .bs-entry-meta p.bs-post-cats {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
    .featured-hero-title-bar .bs-entry-meta p.bs-post-cats a {
      font-weight: 700; }
  .featured-hero-title-bar .bs-entry-meta p.bs-post-comments {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }

/* 5c. Full Width Page Template Styles */
.main-wrap.full-width {
  width: 100%; }
  .main-wrap.full-width .main-content {
    margin-left: 1.5625rem !important;
    margin-right: 1.5625rem !important;
    width: 100%; }

/* 5d. Post Navigation Footer Styles */
footer.portfolio-navigation nav.navigation.post-navigation {
  padding: 0 1.5625rem; }

footer nav.navigation.post-navigation {
  margin: 0 auto; }

/* 5e. Left Sidebar Page Template Styles */
/* 5f. Sidebar Styles */
aside.sidebar {
  background: #D5CDB7;
  padding: 1.5625rem; }
  @media only screen and (max-width: 47.9375em) {
    aside.sidebar {
      -webkit-order: 2 !important;
          -ms-flex-order: 2 !important;
              order: 2 !important;
      width: calc(100% - 1.875rem) !important; } }
  aside.sidebar.portfolio-sidebar {
    background: none;
    padding: 0; }
    aside.sidebar.portfolio-sidebar img.wp-post-image {
      margin-bottom: 0; }
  aside.sidebar .widget {
    margin-bottom: 1.875rem; }
    aside.sidebar .widget:last-of-type {
      margin-bottom: 0; }
    aside.sidebar .widget h6 {
      border-bottom: 0.125rem solid #2272B4;
      font-size: 1.125rem !important;
      margin-bottom: 0.625rem;
      padding-bottom: 0.625rem;
      text-transform: uppercase; }
    aside.sidebar .widget ul {
      list-style: none;
      margin: 0; }
      aside.sidebar .widget ul > li {
        margin-bottom: 0.625rem;
        position: relative; }
      aside.sidebar .widget ul > li > a {
        color: #008000;
        display: inline-block;
        font-size: 1.125rem !important;
        font-weight: 700;
        vertical-align: middle; }
      aside.sidebar .widget ul > li:last-child > a {
        margin-bottom: 0; }
  aside.sidebar li.recentcomments {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    aside.sidebar li.recentcomments span.comment-author-link {
      display: inline-block;
      line-height: 1.8;
      margin-right: 0.25rem; }
    aside.sidebar li.recentcomments a {
      margin-left: 0.25rem; }

/* 5g. Social Sharing Shortcode Styles */
.bs-social-share-outer {
  margin: 1.875rem auto 0;
  max-width: 51.875rem;
  padding: 0 0.9375rem; }

.bs-social-share-container {
  margin: 0 auto 1.875rem;
  width: auto; }
  .bs-social-share-container .bs-social-share-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-left: -1rem; }
    @media only screen and (max-width: 40em) {
      .bs-social-share-container .bs-social-share-inner {
        margin-left: -0.25rem; } }
    .bs-social-share-container .bs-social-share-inner .single-social-share {
      font-size: 1.5rem;
      line-height: 1.5rem;
      margin-left: 1rem;
      text-align: center;
      width: calc(20% - 1rem);
      transition: all 0.2s ease-out 0s; }
      @media only screen and (max-width: 40em) {
        .bs-social-share-container .bs-social-share-inner .single-social-share {
          margin-left: 0.25rem;
          width: calc(20% - 0.25rem); } }
      .bs-social-share-container .bs-social-share-inner .single-social-share a {
        display: block;
        text-align: center; }
      .bs-social-share-container .bs-social-share-inner .single-social-share a span[class*=fa-] {
        transition: all 0.2s ease-out 0s; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-twitter a span[class*=fa-] {
        color: #00aced; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-facebook a span[class*=fa-] {
        color: #3b5998; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-google a span[class*=fa-] {
        color: #dd4b39; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-linkedin a span[class*=fa-] {
        color: #007bb6; }
      .bs-social-share-container .bs-social-share-inner .single-social-share.social-share-pinterest a span[class*=fa-] {
        color: #cb2027; }
      .bs-social-share-container .bs-social-share-inner .single-social-share:hover a span[class*=fa-], .bs-social-share-container .bs-social-share-inner .single-social-share:focus a span[class*=fa-] {
        color: #2272B4 !important; }
    .bs-social-share-container .bs-social-share-inner.show-count .single-social-share {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding: 0.3125rem; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share a {
        text-align: left;
        width: calc(100% - 1.5rem); }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share a span[class*=fa-] {
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-twitter {
        background: #00aced; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-facebook {
        background: #3b5998;
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-google {
        background: #dd4b39;
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-linkedin {
        background: #007bb6;
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share.social-share-pinterest {
        background: #cb2027;
        color: #FFFFFF; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share span:not(.fab):not(.fa):not(.fas):not(.fal):not(.far) {
        background: #FFFFFF;
        color: #000000;
        display: inline-block;
        font-size: 0.875rem;
        font-weight: 700;
        line-height: 1.125rem;
        margin-left: 0.3125rem;
        padding: 0.1875rem;
        width: 1.5rem; }
      .bs-social-share-container .bs-social-share-inner.show-count .single-social-share:hover, .bs-social-share-container .bs-social-share-inner.show-count .single-social-share:focus {
        background: #2272B4 !important; }
        .bs-social-share-container .bs-social-share-inner.show-count .single-social-share:hover a span[class*=fa-], .bs-social-share-container .bs-social-share-inner.show-count .single-social-share:focus a span[class*=fa-] {
          color: #FFFFFF !important; }

/* 5h. Gallery Shortcode Styles */
.gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1.875rem;
  margin-left: -0.9375rem; }
  .gallery figure.gallery-item {
    margin-bottom: 0.9375rem;
    overflow: hidden;
    padding-left: 0.9375rem;
    position: relative; }
    .gallery figure.gallery-item .gallery-icon {
      width: 100%; }
      .gallery figure.gallery-item .gallery-icon a {
        display: block;
        overflow: hidden;
        width: 100%; }
        .gallery figure.gallery-item .gallery-icon a img {
          display: block;
          height: auto;
          width: 100%;
          transition: all 0.2s ease-out 0s; }
    .gallery figure.gallery-item figcaption.wp-caption-text {
      background: rgba(34, 114, 180, 0.85);
      color: #FFFFFF;
      display: block;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 1.2;
      padding: 0.25rem 0.625rem;
      position: absolute;
      top: 100%;
      width: 100%;
      transition: all 0.2s ease-out 0s; }
    .gallery figure.gallery-item:hover .gallery-icon, .gallery figure.gallery-item:focus .gallery-icon {
      width: 100%; }
      .gallery figure.gallery-item:hover .gallery-icon a img, .gallery figure.gallery-item:focus .gallery-icon a img {
        -webkit-transform: scale(1.1) rotate(3deg);
            -ms-transform: scale(1.1) rotate(3deg);
                transform: scale(1.1) rotate(3deg); }
    .gallery figure.gallery-item:hover figcaption.wp-caption-text, .gallery figure.gallery-item:focus figcaption.wp-caption-text {
      -webkit-transform: translateY(-100%);
          -ms-transform: translateY(-100%);
              transform: translateY(-100%); }
  .gallery.gallery-columns-4 .gallery-item {
    width: 25%; }
    @media only screen and (max-width: 47.9375em) {
      .gallery.gallery-columns-4 .gallery-item {
        width: 33.3333%; } }
    @media only screen and (max-width: 30em) {
      .gallery.gallery-columns-4 .gallery-item {
        width: 50%; } }
  .gallery.gallery-columns-3 .gallery-item {
    width: 33.3333%; }
    @media only screen and (max-width: 30em) {
      .gallery.gallery-columns-3 .gallery-item {
        width: 50%; } }
  .gallery.gallery-columns-2 .gallery-item {
    width: 50%; }
  .gallery figure.gallery-item {
    margin-bottom: 0.9375rem;
    overflow: hidden;
    padding-left: 0.9375rem;
    position: relative; }
    .gallery figure.gallery-item .gallery-icon {
      width: 100%; }
      .gallery figure.gallery-item .gallery-icon a {
        display: block;
        width: 100%; }
        .gallery figure.gallery-item .gallery-icon a img {
          display: block;
          height: auto;
          width: 100%; }
    .gallery figure.gallery-item figcaption.wp-caption-text {
      background: rgba(34, 114, 180, 0.85);
      color: #FFFFFF;
      display: block;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 1.2;
      padding: 0.25rem 0.625rem;
      position: absolute;
      top: 100%;
      width: 100%;
      transition: all 0.2s ease-out 0s; }
    .gallery figure.gallery-item:hover figcaption.wp-caption-text, .gallery figure.gallery-item:focus figcaption.wp-caption-text {
      -webkit-transform: translateY(-100%);
          -ms-transform: translateY(-100%);
              transform: translateY(-100%); }

/* 5i. Pagination Styles */
ul.pagination {
  border-top: 0.125rem solid #2272B4;
  margin-top: 1.25rem;
  padding-top: 0.9375rem;
  text-align: center;
  width: 100%; }
  @media only screen and (max-width: 50em) {
    ul.pagination {
      margin-left: 0.9375rem; } }
  ul.pagination li, ul.pagination li span, ul.pagination li a {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    height: 1.875rem;
    line-height: 1.875rem;
    padding: 0 !important;
    text-align: center;
    width: 1.875rem; }
  ul.pagination li span.current {
    background: #b01f23;
    color: #FFFFFF !important; }
  ul.pagination li a {
    text-decoration: none !important;
    transition: all .2s ease-out !important; }
    ul.pagination li a:hover, ul.pagination li a:focus {
      background: #2272B4;
      color: #FFFFFF !important; }

/* 5j. Gravity Form Styles */
.main-content > .entry-content > .gform_wrapper {
  margin-top: 0 !important; }

@media only screen and (min-width: 641px) {
  .gform_wrapper form .gform_body {
    width: calc(100% + 1rem); } }

.gform_wrapper form .gform_body li.gfield {
  margin-top: 0; }
  .gform_wrapper form .gform_body li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type='file']),
  .gform_wrapper form .gform_body li.gfield select,
  .gform_wrapper form .gform_body li.gfield textarea {
    background: #5AB1E0;
    border: 0.0625rem solid #5AB1E0 !important;
    border-radius: 0 !important;
    box-shadow: 0 0.5rem 2rem -0.5rem rgba(0, 0, 0, 0.25) !important;
    color: #FFFFFF !important;
    font-size: calc(1rem + 0.25 * ( (100vw - 30rem) / 57.5)) !important;
    min-height: 4.125rem;
    padding: 0 1rem; }
    @media screen and (max-width: 30rem) {
      .gform_wrapper form .gform_body li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type='file']),
      .gform_wrapper form .gform_body li.gfield select,
      .gform_wrapper form .gform_body li.gfield textarea {
        font-size: 1rem !important; } }
    @media screen and (min-width: 87.5rem) {
      .gform_wrapper form .gform_body li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type='file']),
      .gform_wrapper form .gform_body li.gfield select,
      .gform_wrapper form .gform_body li.gfield textarea {
        font-size: 1.25rem !important; } }
  .gform_wrapper form .gform_body li.gfield textarea {
    padding: 1.25rem 1rem; }
  .gform_wrapper form .gform_body li.gfield .ginput_container {
    margin-top: 0 !important; }
    .gform_wrapper form .gform_body li.gfield .ginput_container input,
    .gform_wrapper form .gform_body li.gfield .ginput_container select,
    .gform_wrapper form .gform_body li.gfield .ginput_container textarea {
      margin-bottom: 1.25rem !important; }
  .gform_wrapper form .gform_body li.gfield .ginput_complex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-left: -1rem;
    margin-right: 0;
    width: calc(100% + 1rem) !important; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full,
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left,
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right,
    .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first,
    .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      padding-left: 1rem;
      padding-right: 0; }
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full textarea,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left textarea,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right textarea,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first textarea,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last textarea {
        margin-bottom: 1.25rem !important;
        margin-left: 0 !important; }
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full input + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full select + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full textarea + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left input + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left select + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left textarea + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right input + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right select + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right textarea + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first input + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first select + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first textarea + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last input + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last select + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last textarea + label {
          color: #333333;
          font-style: italic;
          font-weight: 700;
          line-height: 1.2;
          margin: 0 0 0 0.0625rem;
          position: absolute;
          top: calc(100% - 1.125rem);
          -webkit-transform: translateY(-100%);
              -ms-transform: translateY(-100%);
                  transform: translateY(-100%); }
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full.has-label-below input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full.has-label-below select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full.has-label-below textarea,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left.has-label-below input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left.has-label-below select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left.has-label-below textarea,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right.has-label-below input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right.has-label-below select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right.has-label-below textarea,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first.has-label-below input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first.has-label-below select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first.has-label-below textarea,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last.has-label-below input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last.has-label-below select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last.has-label-below textarea {
        margin-bottom: 2.1875rem !important; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full {
      width: 100%; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left,
    .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right,
    .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first,
    .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last {
      float: none;
      margin-right: 0;
      width: 50%; }
      @media only screen and (max-width: 40em) {
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first,
        .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last {
          width: 100%; } }
  .gform_wrapper form .gform_body li.gfield .ginput_container_address_label {
    background: #D5CDB7;
    display: block;
    padding: 1rem 1rem 0 1rem;
    width: 100%; }
  .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address {
    background: #D5CDB7;
    margin-left: 0;
    margin-bottom: 1.25rem;
    padding: 0.25rem 1rem 0.3125rem 0;
    width: 100% !important; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full,
    .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left,
    .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right {
      margin: 0;
      padding: 0 0 0 1rem !important; }
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right input,
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right select {
        margin-bottom: 1.5625rem !important; }
        .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full input + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full select + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left input + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left select + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right input + label,
        .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right select + label {
          top: calc(100% - 0.625rem); }
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_full select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_left select,
      .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right select {
        margin-top: 0; }
    .gform_wrapper form .gform_body li.gfield .ginput_complex.ginput_container_address .ginput_right + .ginput_left {
      margin-right: 0; }
  .gform_wrapper form .gform_body li.gfield.floatLabel {
    position: relative; }
    .gform_wrapper form .gform_body li.gfield.floatLabel label.gfield_label {
      color: #FFFFFF;
      font-family: "rubik", Arial, Helvetica, sans-serif;
      font-size: calc(1rem + 0.125 * ( (100vw - 30rem) / 57.5)) !important;
      font-weight: 500;
      left: 1.25rem;
      letter-spacing: 0.375rem;
      padding: 0;
      pointer-events: none;
      position: absolute;
      text-transform: uppercase;
      top: 1.375rem;
      transition: all 0.2s ease-out 0s; }
      @media screen and (max-width: 30rem) {
        .gform_wrapper form .gform_body li.gfield.floatLabel label.gfield_label {
          font-size: 1rem !important; } }
      @media screen and (min-width: 87.5rem) {
        .gform_wrapper form .gform_body li.gfield.floatLabel label.gfield_label {
          font-size: 1.125rem !important; } }
      .gform_wrapper form .gform_body li.gfield.floatLabel label.gfield_label span {
        color: inherit !important;
        font-size: inherit !important; }
      .gform_wrapper form .gform_body li.gfield.floatLabel label.gfield_label[data-attr="active"] {
        font-size: 0.75rem !important;
        left: 1rem;
        top: 0.25rem; }

.gform_wrapper form .gform_footer {
  margin: 1.875rem 0 0 0;
  padding: 0; }
  .gform_wrapper form .gform_footer input.gform_button {
    font-family: "rubik", Arial, Helvetica, sans-serif;
    margin-right: 0;
    padding: 0.625rem 0.9375rem; }

.gform_wrapper.gform_validation_error form .validation_error {
  background: #b01f23;
  border-color: #b01f23;
  color: #FFFFFF;
  font-family: "rubik", Arial, Helvetica, sans-serif;
  font-size: 1.375rem; }

.gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error {
  margin-top: 0 !important;
  padding-left: 0.3125rem;
  padding-right: 0.3125rem; }
  .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error label.gfield_label {
    color: #002445 !important;
    margin-top: 0;
    position: relative !important;
    top: 0 !important;
    left: 0 !important; }
  .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_description.validation_message {
    color: red;
    padding: 0; }
  .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .ginput_complex .ginput_left input + label,
  .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .ginput_complex .ginput_right input + label {
    top: 100%; }

/* 5k. Search Results Styles */
body.search-results section#main-container div.main-wrap article.main-content section.bs-blog-loop article.type-page.page .entry-content .blog-meta {
  display: none; }

body.search-results section#main-container div.main-wrap article.main-content section.bs-blog-loop article.type-page.page .entry-content .bs-post-excerpt {
  font-family: "rubik", Arial, Helvetica, sans-serif; }

/**** 6. BLOG PAGE AND SINGLE BLOG POST STYLES ****/
.bs-blog-loop .bs-post-title {
  margin-bottom: 0.625rem; }
  .bs-blog-loop .bs-post-title h3 a {
    display: inline-block; }

.bs-blog-loop .blog-meta {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 0.625rem; }
  .bs-blog-loop .blog-meta p {
    margin-bottom: 0.3125rem; }
    .bs-blog-loop .blog-meta p a {
      display: inline-block; }
    .bs-blog-loop .blog-meta p i, .bs-blog-loop .blog-meta p span {
      display: inline-block;
      font-size: 1.25rem;
      line-height: 1.5rem;
      margin-right: 0.1875rem;
      min-height: 1.5rem;
      text-align: center;
      width: 1.5rem; }
    .bs-blog-loop .blog-meta p.bs-post-date {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .bs-blog-loop .blog-meta p.bs-post-byline {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
      .bs-blog-loop .blog-meta p.bs-post-byline span.avatar img {
        height: auto;
        margin-right: 0.1875rem;
        mix-blend-mode: multiply;
        width: 1.5rem; }
    .bs-blog-loop .blog-meta p.bs-post-cats {
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3; }
    .bs-blog-loop .blog-meta p.bs-post-comments {
      -webkit-order: 4;
          -ms-flex-order: 4;
              order: 4; }

.bs-blog-loop .blog-footer a {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase; }

.bs-blog-loop.bs-blog-loop-list article.bs-single-post {
  border-bottom: 0.0625rem solid #2272B4;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1.5625rem;
  padding-bottom: 1.25rem; }
  .bs-blog-loop.bs-blog-loop-list article.bs-single-post:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
    .bs-blog-loop.bs-blog-loop-list article.bs-single-post:last-of-type hr {
      display: none; }
  .bs-blog-loop.bs-blog-loop-list article.bs-single-post .blog-featured-image {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 18.75rem; }
    @media only screen and (max-width: 40em) {
      .bs-blog-loop.bs-blog-loop-list article.bs-single-post .blog-featured-image {
        margin-bottom: 0.625rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        width: 100%; } }
  .bs-blog-loop.bs-blog-loop-list article.bs-single-post .entry-content {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding-right: 1.25rem;
    width: calc(100% - 18.75rem); }
    @media only screen and (max-width: 40em) {
      .bs-blog-loop.bs-blog-loop-list article.bs-single-post .entry-content {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        padding-right: 0;
        width: 100%; } }
  .bs-blog-loop.bs-blog-loop-list article.bs-single-post .blog-footer a {
    font-weight: 700; }

.bs-blog-loop.bs-blog-loop-list-large article.bs-single-post:last-of-type hr {
  display: none; }

.bs-blog-loop.bs-blog-loop-grid, .bs-blog-loop.bs-blog-loop-carousel {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -1.875rem;
  margin-bottom: -2.8125rem !important; }
  .bs-blog-loop.bs-blog-loop-grid article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post {
    margin-bottom: 2.8125rem;
    margin-left: 1.875rem;
    transition: box-shadow 0.2s ease-out 0s; }
    @media only screen and (max-width: 37.5em) {
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post {
        width: calc(100% - 1.875rem); } }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image {
      background: #2272B4;
      border: 0.125rem solid #2272B4;
      border-bottom: 0; }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image figure, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image a, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image figure, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image a {
        display: block;
        overflow: hidden;
        width: 100%; }
        .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image figure img, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-featured-image a img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image figure img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-featured-image a img {
          display: block;
          transition: all 0.2s ease-out 0s; }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-meta .bs-entry-meta, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-meta .bs-entry-meta {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin-bottom: 0; }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-meta .bs-entry-meta p, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-meta .bs-entry-meta p {
        border: 0;
        display: block;
        margin: 0;
        padding: 0;
        width: 100%; }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .entry-content, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .entry-content {
      background: #e1e1e1;
      border: 0.125rem solid #2272B4;
      border-top: 0;
      border-bottom: 0;
      padding: 0.9375rem; }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .bs-post-excerpt, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .bs-post-excerpt {
      margin-bottom: 0.9375rem; }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-footer, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-footer {
      margin-bottom: -0.9375rem;
      margin-left: -0.9375rem;
      margin-right: -0.9375rem;
      width: calc(100% + 1.875rem); }
      .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-footer a, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-footer a {
        background: #2272B4;
        color: white;
        display: block;
        font-weight: 700;
        padding: 0.9375rem;
        text-decoration: none;
        transition: background 0.2s ease-out 0s; }
        .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-footer a:hover, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post .blog-footer a:focus, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-footer a:hover, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post .blog-footer a:focus {
          background: #b01f23; }
    .bs-blog-loop.bs-blog-loop-grid article.bs-single-post:hover .blog-featured-image figure img, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post:hover .blog-featured-image a img, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post:focus .blog-featured-image figure img, .bs-blog-loop.bs-blog-loop-grid article.bs-single-post:focus .blog-featured-image a img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post:hover .blog-featured-image figure img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post:hover .blog-featured-image a img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post:focus .blog-featured-image figure img, .bs-blog-loop.bs-blog-loop-carousel article.bs-single-post:focus .blog-featured-image a img {
      -webkit-transform: scale(1.1) rotate(3deg);
          -ms-transform: scale(1.1) rotate(3deg);
              transform: scale(1.1) rotate(3deg); }
  .bs-blog-loop.bs-blog-loop-grid.grid-2-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-2-cols article.bs-single-post {
    width: calc(50% - 1.875rem); }
    @media only screen and (max-width: 37.5em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-2-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-2-cols article.bs-single-post {
        width: calc(100% - 1.875rem); } }
  .bs-blog-loop.bs-blog-loop-grid.grid-3-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-3-cols article.bs-single-post {
    width: calc(33.3333% - 1.875rem); }
    @media only screen and (max-width: 47.9375em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-3-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-3-cols article.bs-single-post {
        width: calc(50% - 1.875rem); } }
    @media only screen and (max-width: 37.5em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-3-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-3-cols article.bs-single-post {
        width: calc(100% - 1.875rem); } }
  .bs-blog-loop.bs-blog-loop-grid.grid-4-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-4-cols article.bs-single-post {
    width: calc(25% - 1.875rem); }
    @media only screen and (max-width: 64em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-4-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-4-cols article.bs-single-post {
        width: calc(50% - 1.875rem); } }
    @media only screen and (max-width: 37.5em) {
      .bs-blog-loop.bs-blog-loop-grid.grid-4-cols article.bs-single-post, .bs-blog-loop.bs-blog-loop-carousel.grid-4-cols article.bs-single-post {
        width: calc(100% - 1.875rem); } }
  .bs-blog-loop.bs-blog-loop-grid nav.custom-pagination, .bs-blog-loop.bs-blog-loop-carousel nav.custom-pagination {
    margin-left: 1.875rem; }

.bs-blog-loop.bs-blog-loop-carousel article.bs-single-post {
  box-shadow: none !important; }

.bs-blog-loop.bs-blog-loop-carousel .slick-list {
  width: 100%; }

.bs-blog-loop.bs-blog-loop-carousel ul.slick-dots {
  margin-bottom: 2.1875rem;
  margin-left: 1.875rem;
  margin-top: -1.875rem;
  position: relative;
  width: calc(100% - 1.875rem);
  z-index: 99; }
  .bs-blog-loop.bs-blog-loop-carousel ul.slick-dots li:only-child {
    display: none; }

.bs-blog-loop nav.custom-pagination {
  border-top: 0.125rem solid #2272B4;
  margin-top: 1.25rem;
  padding-top: 0.9375rem;
  text-align: center;
  width: 100%; }
  @media only screen and (max-width: 50em) {
    .bs-blog-loop nav.custom-pagination {
      margin-left: 0.9375rem; } }
  .bs-blog-loop nav.custom-pagination .page-numbers {
    display: inline-block;
    font-weight: 700;
    height: 1.875rem;
    line-height: 1.875rem;
    text-align: center;
    text-decoration: none;
    width: 1.875rem; }
  .bs-blog-loop nav.custom-pagination span.page-numbers.page-num {
    font-weight: 700;
    width: auto; }
  .bs-blog-loop nav.custom-pagination span.pipe-separator {
    font-size: 1.25rem;
    margin: 0 0.4375rem; }
  .bs-blog-loop nav.custom-pagination span.page-numbers.current {
    background: #b01f23;
    color: #FFFFFF !important; }
  .bs-blog-loop nav.custom-pagination a.page-numbers {
    transition: all 0.2s ease-out 0s; }
    .bs-blog-loop nav.custom-pagination a.page-numbers:hover, .bs-blog-loop nav.custom-pagination a.page-numbers:focus {
      background: #2272B4;
      color: #FFFFFF; }

.single-post .main-wrap, .blog .main-wrap, .search-results .main-wrap, .single-service .main-wrap, .archive .main-wrap, .tag .main-wrap, .single-staff .main-wrap {
  margin-bottom: 2.5rem; }
  .single-post .main-wrap .main-content .bs-entry-meta, .blog .main-wrap .main-content .bs-entry-meta, .search-results .main-wrap .main-content .bs-entry-meta, .single-service .main-wrap .main-content .bs-entry-meta, .archive .main-wrap .main-content .bs-entry-meta, .tag .main-wrap .main-content .bs-entry-meta, .single-staff .main-wrap .main-content .bs-entry-meta {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 2rem; }
    .single-post .main-wrap .main-content .bs-entry-meta p, .blog .main-wrap .main-content .bs-entry-meta p, .search-results .main-wrap .main-content .bs-entry-meta p, .single-service .main-wrap .main-content .bs-entry-meta p, .archive .main-wrap .main-content .bs-entry-meta p, .tag .main-wrap .main-content .bs-entry-meta p, .single-staff .main-wrap .main-content .bs-entry-meta p {
      border-right: 0.125rem solid #2272B4;
      margin: 0 0.625rem 0 0;
      padding: 0 0.625rem 0 0; }
      .single-post .main-wrap .main-content .bs-entry-meta p:last-of-type, .blog .main-wrap .main-content .bs-entry-meta p:last-of-type, .search-results .main-wrap .main-content .bs-entry-meta p:last-of-type, .single-service .main-wrap .main-content .bs-entry-meta p:last-of-type, .archive .main-wrap .main-content .bs-entry-meta p:last-of-type, .tag .main-wrap .main-content .bs-entry-meta p:last-of-type, .single-staff .main-wrap .main-content .bs-entry-meta p:last-of-type {
        border-right: 0;
        margin: 0;
        padding: 0; }
  .single-post .main-wrap.no-sidebar, .blog .main-wrap.no-sidebar, .search-results .main-wrap.no-sidebar, .single-service .main-wrap.no-sidebar, .archive .main-wrap.no-sidebar, .tag .main-wrap.no-sidebar, .single-staff .main-wrap.no-sidebar {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .single-post .main-wrap.no-sidebar article.main-content, .blog .main-wrap.no-sidebar article.main-content, .search-results .main-wrap.no-sidebar article.main-content, .single-service .main-wrap.no-sidebar article.main-content, .archive .main-wrap.no-sidebar article.main-content, .tag .main-wrap.no-sidebar article.main-content, .single-staff .main-wrap.no-sidebar article.main-content {
      max-width: 64rem;
      width: 100%; }
  .single-post .main-wrap.blog-sidebar-left, .single-post .main-wrap.single-sidebar-left, .blog .main-wrap.blog-sidebar-left, .blog .main-wrap.single-sidebar-left, .search-results .main-wrap.blog-sidebar-left, .search-results .main-wrap.single-sidebar-left, .single-service .main-wrap.blog-sidebar-left, .single-service .main-wrap.single-sidebar-left, .archive .main-wrap.blog-sidebar-left, .archive .main-wrap.single-sidebar-left, .tag .main-wrap.blog-sidebar-left, .tag .main-wrap.single-sidebar-left, .single-staff .main-wrap.blog-sidebar-left, .single-staff .main-wrap.single-sidebar-left {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .single-post .main-wrap.blog-sidebar-left .main-content, .single-post .main-wrap.single-sidebar-left .main-content, .blog .main-wrap.blog-sidebar-left .main-content, .blog .main-wrap.single-sidebar-left .main-content, .search-results .main-wrap.blog-sidebar-left .main-content, .search-results .main-wrap.single-sidebar-left .main-content, .single-service .main-wrap.blog-sidebar-left .main-content, .single-service .main-wrap.single-sidebar-left .main-content, .archive .main-wrap.blog-sidebar-left .main-content, .archive .main-wrap.single-sidebar-left .main-content, .tag .main-wrap.blog-sidebar-left .main-content, .tag .main-wrap.single-sidebar-left .main-content, .single-staff .main-wrap.blog-sidebar-left .main-content, .single-staff .main-wrap.single-sidebar-left .main-content {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    .single-post .main-wrap.blog-sidebar-left aside.sidebar, .single-post .main-wrap.single-sidebar-left aside.sidebar, .blog .main-wrap.blog-sidebar-left aside.sidebar, .blog .main-wrap.single-sidebar-left aside.sidebar, .search-results .main-wrap.blog-sidebar-left aside.sidebar, .search-results .main-wrap.single-sidebar-left aside.sidebar, .single-service .main-wrap.blog-sidebar-left aside.sidebar, .single-service .main-wrap.single-sidebar-left aside.sidebar, .archive .main-wrap.blog-sidebar-left aside.sidebar, .archive .main-wrap.single-sidebar-left aside.sidebar, .tag .main-wrap.blog-sidebar-left aside.sidebar, .tag .main-wrap.single-sidebar-left aside.sidebar, .single-staff .main-wrap.blog-sidebar-left aside.sidebar, .single-staff .main-wrap.single-sidebar-left aside.sidebar {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
  .single-post .main-wrap.blog-full-width.no-sidebar article.main-content, .single-post .main-wrap.single-full-width.no-sidebar article.main-content, .blog .main-wrap.blog-full-width.no-sidebar article.main-content, .blog .main-wrap.single-full-width.no-sidebar article.main-content, .search-results .main-wrap.blog-full-width.no-sidebar article.main-content, .search-results .main-wrap.single-full-width.no-sidebar article.main-content, .single-service .main-wrap.blog-full-width.no-sidebar article.main-content, .single-service .main-wrap.single-full-width.no-sidebar article.main-content, .archive .main-wrap.blog-full-width.no-sidebar article.main-content, .archive .main-wrap.single-full-width.no-sidebar article.main-content, .tag .main-wrap.blog-full-width.no-sidebar article.main-content, .tag .main-wrap.single-full-width.no-sidebar article.main-content, .single-staff .main-wrap.blog-full-width.no-sidebar article.main-content, .single-staff .main-wrap.single-full-width.no-sidebar article.main-content {
    max-width: 100%; }

.single-post .about-the-author-wrap, .blog .about-the-author-wrap, .search-results .about-the-author-wrap, .single-service .about-the-author-wrap, .archive .about-the-author-wrap, .tag .about-the-author-wrap, .single-staff .about-the-author-wrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 2rem 0;
  padding: 0.9375rem; }
  .single-post .about-the-author-wrap .author-image, .blog .about-the-author-wrap .author-image, .search-results .about-the-author-wrap .author-image, .single-service .about-the-author-wrap .author-image, .archive .about-the-author-wrap .author-image, .tag .about-the-author-wrap .author-image, .single-staff .about-the-author-wrap .author-image {
    border-radius: 100%;
    margin-right: 0.625rem;
    height: 5rem;
    overflow: hidden;
    width: 5rem; }
    .single-post .about-the-author-wrap .author-image img, .blog .about-the-author-wrap .author-image img, .search-results .about-the-author-wrap .author-image img, .single-service .about-the-author-wrap .author-image img, .archive .about-the-author-wrap .author-image img, .tag .about-the-author-wrap .author-image img, .single-staff .about-the-author-wrap .author-image img {
      height: auto;
      width: 100%; }
  .single-post .about-the-author-wrap .author-description, .blog .about-the-author-wrap .author-description, .search-results .about-the-author-wrap .author-description, .single-service .about-the-author-wrap .author-description, .archive .about-the-author-wrap .author-description, .tag .about-the-author-wrap .author-description, .single-staff .about-the-author-wrap .author-description {
    width: calc(100% - 5.625rem); }
    .single-post .about-the-author-wrap .author-description p:last-of-type, .blog .about-the-author-wrap .author-description p:last-of-type, .search-results .about-the-author-wrap .author-description p:last-of-type, .single-service .about-the-author-wrap .author-description p:last-of-type, .archive .about-the-author-wrap .author-description p:last-of-type, .tag .about-the-author-wrap .author-description p:last-of-type, .single-staff .about-the-author-wrap .author-description p:last-of-type {
      margin-bottom: 0; }
    .single-post .about-the-author-wrap .author-description p strong, .blog .about-the-author-wrap .author-description p strong, .search-results .about-the-author-wrap .author-description p strong, .single-service .about-the-author-wrap .author-description p strong, .archive .about-the-author-wrap .author-description p strong, .tag .about-the-author-wrap .author-description p strong, .single-staff .about-the-author-wrap .author-description p strong {
      font-size: 115%; }
    .single-post .about-the-author-wrap .author-description.no-avatar, .blog .about-the-author-wrap .author-description.no-avatar, .search-results .about-the-author-wrap .author-description.no-avatar, .single-service .about-the-author-wrap .author-description.no-avatar, .archive .about-the-author-wrap .author-description.no-avatar, .tag .about-the-author-wrap .author-description.no-avatar, .single-staff .about-the-author-wrap .author-description.no-avatar {
      width: 100%; }

.blog-featured-image a {
  display: block; }
  .blog-featured-image a img {
    height: auto;
    width: 100%; }

/* 6a. Comments Section Styles */
section#comments {
  background: #D5CDB7;
  margin: 2rem 0 0 0;
  padding: 0.9375rem; }
  section#comments ol.comment-list {
    list-style: none;
    margin: 0; }
    section#comments ol.comment-list > li {
      border-left: 0.125rem solid #2272B4;
      margin-bottom: 2.5rem;
      padding-left: 0.625rem; }
      section#comments ol.comment-list > li:last-child {
        margin-bottom: 0; }
      section#comments ol.comment-list > li p:last-of-type {
        margin-bottom: 0; }
    section#comments ol.comment-list header.comment-author {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      section#comments ol.comment-list header.comment-author img {
        margin-right: 0.625rem; }
      section#comments ol.comment-list header.comment-author time {
        display: block;
        font-size: 0.75rem;
        line-height: 1; }
      section#comments ol.comment-list header.comment-author cite {
        color: #000000;
        font-size: 0.875rem; }
    section#comments ol.comment-list ul.children {
      list-style: none;
      margin: 0.9375rem 0 0 0; }
      section#comments ol.comment-list ul.children li {
        border-left: 0.125rem solid #2272B4;
        padding-bottom: 1.25rem;
        padding-left: 0.625rem; }
        section#comments ol.comment-list ul.children li:last-child {
          padding-bottom: 0; }
        section#comments ol.comment-list ul.children li p:last-of-type {
          margin-bottom: 0; }
    section#comments ol.comment-list a.comment-reply-link {
      display: block;
      font-weight: 700;
      font-size: 0.875rem; }

section#respond {
  background: #D5CDB7;
  margin: 2rem 0 0 0;
  padding: 0.9375rem; }
  section#respond p:last-of-type {
    margin: 0; }
  section#respond form#commentform input[type="text"], section#respond form#commentform textarea {
    border: 0.0625rem solid #2272B4;
    border-radius: 0.1875rem;
    box-shadow: none;
    min-height: 2.8125rem; }
  section#respond form#commentform input.button {
    font-size: 1rem;
    padding: 0.625rem; }
  section#respond form#commentform label {
    font-weight: 700; }

/* 6b. AJAX Blog Loop Shortcode Styles */
.bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left {
    height: auto;
    width: 33.3333%; }
    @media only screen and (max-width: 50em) {
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left {
        width: 100%; } }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      height: auto;
      list-style: none;
      margin-left: -0.9375rem;
      margin-bottom: 1.875rem; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images li {
        margin-bottom: 0.5rem;
        padding-left: 0.9375rem; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images .slick-slide, .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images .slick-track {
        height: auto !important;
        transition: height 0.2s ease-out 0s; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images button.slick-arrow {
        bottom: -1.25rem;
        cursor: pointer !important;
        height: 1.25rem;
        left: 0;
        line-height: 1.25rem;
        padding-left: 0.9375rem;
        position: absolute;
        text-align: center;
        width: 50%; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-left ul.bs-ajax-blog-images button.slick-next {
        left: auto;
        right: 0; }
  .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right {
    background: #FFFFFF;
    margin-left: 1.875rem;
    position: relative;
    transition: all .5s ease-out;
    width: calc(66.6666% - 1.875rem); }
    @media only screen and (max-width: 50em) {
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right {
        margin-left: 0;
        width: 100%; } }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right.loading {
      background: rgba(0, 0, 0, 0.25); }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right.loaded {
      background: #FFFFFF; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-ajax-swap-area.ajax-loading {
      display: none; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right img.loading-animation {
      left: 50%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateX(-50%) translateY(-50%);
          -ms-transform: translateX(-50%) translateY(-50%);
              transform: translateX(-50%) translateY(-50%); }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-featured-image img {
      height: auto;
      width: 100%; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-title {
      margin-bottom: 0.625rem; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-title h3 a {
        display: inline-block; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-bottom: 0.625rem; }
      .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p {
        margin-bottom: 0.3125rem; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p a {
          display: inline-block; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p i, .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p span {
          display: inline-block;
          font-size: 1.25rem;
          line-height: 1.5rem;
          margin-right: 0.1875rem;
          min-height: 1.5rem;
          text-align: center;
          width: 1.5rem; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-date {
          -webkit-order: 1;
              -ms-flex-order: 1;
                  order: 1; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-byline {
          -webkit-order: 2;
              -ms-flex-order: 2;
                  order: 2; }
          .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-byline span.avatar img {
            height: auto;
            margin-right: 0.1875rem;
            mix-blend-mode: multiply;
            width: 1.5rem; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-cats {
          -webkit-order: 3;
              -ms-flex-order: 3;
                  order: 3; }
        .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-meta p.bs-post-comments {
          -webkit-order: 4;
              -ms-flex-order: 4;
                  order: 4; }
    .bs-ajax-blog-loop .bs-ajax-blog-loop-wrapper .bs-ajax-blog-loop-right .bs-post-footer a {
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 1;
      text-transform: uppercase; }

/**** 7. PORTFOLIO STYLES ****/
/**** 8. SERVICES STYLES ****/
/* Single Service Item Styles */
.single-service .service-featured-image {
  margin-top: 0.3125rem;
  max-width: 20.625rem;
  width: 100%; }

.single-service .main-wrap .main-content ul.service-category {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0 0 2rem 0; }
  .single-service .main-wrap .main-content ul.service-category li {
    padding-left: 0.375rem; }
  .single-service .main-wrap .main-content ul.service-category li.cat-name:after {
    content: ','; }
  .single-service .main-wrap .main-content ul.service-category li.cat-name:last-child:after {
    content: ''; }

/* Services Shortcode Styles */
.services-wrapper .single-service-item .service-thumbnail a {
  display: block;
  overflow: hidden; }
  .services-wrapper .single-service-item .service-thumbnail a img {
    transition: all 0.2s ease-out 0s; }

.services-wrapper .single-service-item:hover .service-thumbnail a img, .services-wrapper .single-service-item:focus .service-thumbnail a img {
  -webkit-transform: scale(1.1) rotate(3deg);
      -ms-transform: scale(1.1) rotate(3deg);
          transform: scale(1.1) rotate(3deg); }

.services-wrapper.services-display-grid.grid-cols-1 .single-service-item {
  width: 100%; }

.services-wrapper.services-display-grid.grid-cols-2 .single-service-item {
  width: 50%; }
  @media only screen and (max-width: 25em) {
    .services-wrapper.services-display-grid.grid-cols-2 .single-service-item {
      width: 100%; } }

.services-wrapper.services-display-grid.grid-cols-3 .single-service-item {
  width: 33.3333%; }
  @media only screen and (max-width: 47.9375em) {
    .services-wrapper.services-display-grid.grid-cols-3 .single-service-item {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    .services-wrapper.services-display-grid.grid-cols-3 .single-service-item {
      width: 100%; } }

.services-wrapper.services-display-grid.grid-cols-4 .single-service-item {
  width: 25%; }
  @media only screen and (max-width: 47.9375em) {
    .services-wrapper.services-display-grid.grid-cols-4 .single-service-item {
      width: 33.3333%; } }
  @media only screen and (max-width: 37.5em) {
    .services-wrapper.services-display-grid.grid-cols-4 .single-service-item {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    .services-wrapper.services-display-grid.grid-cols-4 .single-service-item {
      width: 100%; } }

.services-wrapper.services-display-grid .services-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 0 -0.9375rem -0.9375rem;
  transition: height 0.2s ease-out 0s; }
  .services-wrapper.services-display-grid .services-container .single-service-item {
    padding-bottom: 0.9375rem;
    padding-left: 0.9375rem; }
    .services-wrapper.services-display-grid .services-container .single-service-item section.service-content {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      position: relative;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      overflow: hidden; }
      .services-wrapper.services-display-grid .services-container .single-service-item section.service-content:before {
        background: rgba(0, 0, 0, 0.45);
        content: '';
        display: block;
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        visibility: hidden;
        width: 100%;
        z-index: 1;
        transition: all 0.2s ease-out 0s; }
      .services-wrapper.services-display-grid .services-container .single-service-item section.service-content h4.service-title {
        color: #FFFFFF !important;
        line-height: 1.2;
        opacity: 0;
        padding: 0.3125rem;
        position: absolute;
        text-align: center;
        text-shadow: 0 0.125rem 0 #000000;
        -webkit-transform: translateY(-100%);
            -ms-transform: translateY(-100%);
                transform: translateY(-100%);
        top: 50%;
        width: 100%;
        z-index: 10;
        transition: all 0.2s ease-out 0s; }
      .services-wrapper.services-display-grid .services-container .single-service-item section.service-content ul.service-category {
        bottom: 50%;
        line-height: 1.2;
        list-style: none;
        margin: 0;
        opacity: 0;
        padding: 0 0.3125rem;
        position: absolute;
        text-align: center;
        -webkit-transform: translateY(100%);
            -ms-transform: translateY(100%);
                transform: translateY(100%);
        width: 100%;
        z-index: 10;
        transition: all 0.2s ease-out 0s; }
        .services-wrapper.services-display-grid .services-container .single-service-item section.service-content ul.service-category li {
          color: #FFFFFF !important;
          display: inline-block;
          font-style: italic;
          font-weight: 700;
          line-height: 1.2;
          text-shadow: 0 0.125rem 0 #000000; }
      .services-wrapper.services-display-grid .services-container .single-service-item section.service-content img.service-thumbnail {
        display: block;
        width: 100%;
        height: auto; }
      .services-wrapper.services-display-grid .services-container .single-service-item section.service-content:hover:before, .services-wrapper.services-display-grid .services-container .single-service-item section.service-content:focus:before {
        opacity: 1;
        visibility: visible; }
      .services-wrapper.services-display-grid .services-container .single-service-item section.service-content:hover h4.service-title, .services-wrapper.services-display-grid .services-container .single-service-item section.service-content:focus h4.service-title {
        opacity: 1; }
      .services-wrapper.services-display-grid .services-container .single-service-item section.service-content:hover ul.service-category, .services-wrapper.services-display-grid .services-container .single-service-item section.service-content:focus ul.service-category {
        opacity: 1; }

.services-wrapper.services-display-list .single-service-item {
  border-bottom: 0.0625rem solid #2272B4;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1.5625rem;
  padding-bottom: 1.5625rem; }
  .services-wrapper.services-display-list .single-service-item:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
  .services-wrapper.services-display-list .single-service-item .service-thumbnail {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 18.75rem; }
    @media only screen and (max-width: 40em) {
      .services-wrapper.services-display-list .single-service-item .service-thumbnail {
        margin-bottom: 0.625rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        width: 100%; } }
    .services-wrapper.services-display-list .single-service-item .service-thumbnail img {
      margin-bottom: 0;
      width: 100%; }
  .services-wrapper.services-display-list .single-service-item .service-content {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding-right: 1.25rem;
    width: calc(100% - 18.75rem); }
    @media only screen and (max-width: 40em) {
      .services-wrapper.services-display-list .single-service-item .service-content {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        padding-right: 0;
        width: 100%; } }
    .services-wrapper.services-display-list .single-service-item .service-content ul.service-category {
      display: inline-block;
      list-style: none;
      margin: 0 0 0.625rem 0;
      text-align: left;
      width: 100%; }
      .services-wrapper.services-display-list .single-service-item .service-content ul.service-category li {
        display: inline-block;
        padding-right: 0.375rem; }
      .services-wrapper.services-display-list .single-service-item .service-content ul.service-category li.cat-name:after {
        content: ','; }
      .services-wrapper.services-display-list .single-service-item .service-content ul.service-category li.cat-name:last-of-type:after {
        content: ''; }

/**** 9. STAFF STYLES ****/
/* Single Staff Item Styles */
.single-staff .main-content .staff-featured-image {
  margin-top: 0.3125rem;
  max-width: 20.625rem;
  width: 100%; }

.single-staff .main-content ul.staff-category {
  list-style: none;
  margin: 0 0 0.9375rem 0;
  text-align: left; }
  .single-staff .main-content ul.staff-category li {
    display: inline-block;
    padding-right: 0.25rem; }
    .single-staff .main-content ul.staff-category li.cat-name {
      padding-right: 0.375rem; }
    .single-staff .main-content ul.staff-category li.cat-name:after {
      content: ','; }
    .single-staff .main-content ul.staff-category li.cat-name:last-child:after {
      content: ''; }

/* Staff Shortcode Styles */
.staffs-wrapper .staff-filter-toggle {
  display: none;
  margin-bottom: 0.9375rem; }
  @media only screen and (max-width: 47.9375em) {
    .staffs-wrapper .staff-filter-toggle {
      display: block; } }
  .staffs-wrapper .staff-filter-toggle a {
    background: #2272B4;
    color: #FFFFFF;
    display: inline-block;
    font-weight: 700;
    padding: 0.625rem;
    text-decoration: none; }

.staffs-wrapper ul#filters, .staffs-wrapper ul[id*="filters-"] {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  list-style: none;
  margin: 0 0 1.25rem -0.9375rem;
  width: 100%;
  transition: opacity 0.2s ease-out 0s; }
  @media only screen and (max-width: 47.9375em) {
    .staffs-wrapper ul#filters, .staffs-wrapper ul[id*="filters-"] {
      display: none;
      margin: 0 0 1.25rem 0; } }
  .staffs-wrapper ul#filters li, .staffs-wrapper ul[id*="filters-"] li {
    padding-left: 0.9375rem; }
    @media only screen and (max-width: 47.9375em) {
      .staffs-wrapper ul#filters li, .staffs-wrapper ul[id*="filters-"] li {
        margin-bottom: 0.125rem;
        padding-left: 0; } }
    .staffs-wrapper ul#filters li a, .staffs-wrapper ul[id*="filters-"] li a {
      background: #2272B4;
      color: #FFFFFF;
      display: block;
      font-weight: 700;
      padding: 0.375rem 0.9375rem;
      text-align: center;
      text-decoration: none; }
      .staffs-wrapper ul#filters li a.active, .staffs-wrapper ul#filters li a:hover, .staffs-wrapper ul#filters li a:focus, .staffs-wrapper ul[id*="filters-"] li a.active, .staffs-wrapper ul[id*="filters-"] li a:hover, .staffs-wrapper ul[id*="filters-"] li a:focus {
        background: #b01f23; }

.staffs-wrapper .single-staff-item .staff-thumbnail a {
  display: block;
  overflow: hidden; }
  .staffs-wrapper .single-staff-item .staff-thumbnail a img {
    transition: all 0.2s ease-out 0s; }

.staffs-wrapper .single-staff-item:hover .staff-thumbnail a img, .staffs-wrapper .single-staff-item:focus .staff-thumbnail a img {
  -webkit-transform: scale(1.1) rotate(3deg);
      -ms-transform: scale(1.1) rotate(3deg);
          transform: scale(1.1) rotate(3deg); }

.staffs-wrapper.staffs-display-grid.grid-cols-1 .single-staff-item {
  width: 100%; }

.staffs-wrapper.staffs-display-grid.grid-cols-2 .single-staff-item {
  width: 50%; }
  @media only screen and (max-width: 25em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-2 .single-staff-item {
      width: 100%; } }

.staffs-wrapper.staffs-display-grid.grid-cols-3 .single-staff-item {
  width: 33.3333%; }
  @media only screen and (max-width: 47.9375em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-3 .single-staff-item {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-3 .single-staff-item {
      width: 100%; } }

.staffs-wrapper.staffs-display-grid.grid-cols-4 .single-staff-item {
  width: 25%; }
  @media only screen and (max-width: 47.9375em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-4 .single-staff-item {
      width: 33.3333%; } }
  @media only screen and (max-width: 37.5em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-4 .single-staff-item {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    .staffs-wrapper.staffs-display-grid.grid-cols-4 .single-staff-item {
      width: 100%; } }

.staffs-wrapper.staffs-display-grid .staffs-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 0 -0.9375rem -0.9375rem;
  transition: height 0.2s ease-out 0s; }
  .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item {
    padding-bottom: 0.9375rem;
    padding-left: 0.9375rem; }
    .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      position: relative;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      overflow: hidden; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content:before {
        background: rgba(0, 0, 0, 0.45);
        content: '';
        display: block;
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        visibility: hidden;
        width: 100%;
        z-index: 1;
        transition: all 0.2s ease-out 0s; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content h4.staff-title {
        color: #FFFFFF !important;
        line-height: 1.2;
        opacity: 0;
        padding: 0.3125rem;
        position: absolute;
        text-align: center;
        text-shadow: 0 0.125rem 0 #000000;
        -webkit-transform: translateY(-100%);
            -ms-transform: translateY(-100%);
                transform: translateY(-100%);
        top: 50%;
        width: 100%;
        z-index: 10;
        transition: all 0.2s ease-out 0s; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content p.staff-position {
        margin-bottom: 0; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content ul.staff-category {
        bottom: 50%;
        line-height: 1.2;
        list-style: none;
        margin: 0;
        opacity: 0;
        padding: 0 0.3125rem;
        position: absolute;
        text-align: center;
        -webkit-transform: translateY(100%);
            -ms-transform: translateY(100%);
                transform: translateY(100%);
        width: 100%;
        z-index: 10;
        transition: all 0.2s ease-out 0s; }
        .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content ul.staff-category li {
          color: #FFFFFF !important;
          display: inline-block;
          font-style: italic;
          font-weight: 700;
          line-height: 1.2;
          text-shadow: 0 0.125rem 0 #000000; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content img.staff-thumbnail {
        display: block;
        width: 100%;
        height: auto; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content:hover:before, .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content:focus:before {
        opacity: 1;
        visibility: visible; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content:hover h4.staff-title, .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content:focus h4.staff-title {
        opacity: 1; }
      .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content:hover ul.staff-category, .staffs-wrapper.staffs-display-grid .staffs-container .single-staff-item section.staff-content:focus ul.staff-category {
        opacity: 1; }

.staffs-wrapper.staffs-display-list .single-staff-item {
  border-bottom: 0.0625rem solid #2272B4;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 1.5625rem;
  padding-bottom: 1.5625rem; }
  .staffs-wrapper.staffs-display-list .single-staff-item:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0; }
  .staffs-wrapper.staffs-display-list .single-staff-item .staff-thumbnail {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 18.75rem; }
    @media only screen and (max-width: 40em) {
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-thumbnail {
        margin-bottom: 0.625rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        width: 100%; } }
    .staffs-wrapper.staffs-display-list .single-staff-item .staff-thumbnail img {
      margin-bottom: 0;
      width: 100%; }
  .staffs-wrapper.staffs-display-list .single-staff-item .staff-content {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding-right: 1.25rem;
    width: calc(100% - 18.75rem); }
    @media only screen and (max-width: 40em) {
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-content {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        padding-right: 0;
        width: 100%; } }
    .staffs-wrapper.staffs-display-list .single-staff-item .staff-content p.staff-meta {
      margin-bottom: 0; }
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-content p.staff-meta i, .staffs-wrapper.staffs-display-list .single-staff-item .staff-content p.staff-meta span {
        padding-right: 0.375rem;
        width: 1.25rem; }
    .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category {
      display: inline-block;
      list-style: none;
      margin: 0 0 0.625rem 0;
      text-align: left;
      width: 100%; }
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category li {
        display: inline-block;
        padding-right: 0.375rem;
        width: 1.4375rem; }
      .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category li.cat-name {
        width: auto; }
        .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category li.cat-name:after {
          content: ','; }
        .staffs-wrapper.staffs-display-list .single-staff-item .staff-content ul.staff-category li.cat-name:last-of-type:after {
          content: ''; }
    .staffs-wrapper.staffs-display-list .single-staff-item .staff-content .staff-read-more {
      font-weight: 700; }

/**** 10. 404 PAGE STYLES ****/
.error404 .main-wrap.no-sidebar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .error404 .main-wrap.no-sidebar article.main-content {
    max-width: 50rem;
    width: 100%; }

/**** 11. IE/EDGE STYLES ****/
/* MS Edge Only CSS */
@supports (-ms-ime-align: auto) {
  header#masthead nav.site-navigation.top-bar ul.desktop-menu > li.is-active:focus ul.submenu.dropdown,
  header#masthead nav.site-navigation.top-bar ul.desktop-menu > li.is-active:hover ul.submenu.dropdown {
    margin-top: 0;
    opacity: 1;
    visibility: visible;
    z-index: 10; } }

/* IE10/11 Only CSS */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  header#masthead #header-inner .top-bar ul.desktop-menu > li.menu-item > a {
    display: block; }
  header#masthead nav.site-navigation.top-bar ul.desktop-menu > li.menu-item.is-active:focus ul.submenu.dropdown,
  header#masthead nav.site-navigation.top-bar ul.desktop-menu > li.menu-item.is-active:hover ul.submenu.dropdown {
    margin-top: 0;
    opacity: 1;
    visibility: visible;
    z-index: 10; }
  header#masthead nav.site-navigation.top-bar ul.desktop-menu > li.menu-item-has-children ul.submenu.dropdown:after {
    display: none; }
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full input + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full select + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_full textarea + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left input + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left select + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_left textarea + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right input + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right select + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .ginput_right textarea + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first input + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first select + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .name_first textarea + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last input + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last select + label,
  .gform_wrapper form .gform_body li.gfield .ginput_complex .name_last textarea + label {
    left: 0.9375rem; }
  header#masthead nav.top-bar.site-navigation .top-bar-right,
  header#masthead nav.top-bar.site-navigation .top-bar-bottom {
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  header#masthead nav.top-bar.site-navigation ul.desktop-menu > li > a {
    font-size: inherit !important;
    white-space: pre-wrap; }
  header#masthead {
    z-index: 1000; } }

/**** 12. SAFARI STYLES ****/
/* Safari 10.0+ Only Styles */
/**** 13. SEARCH FORM STYLES ****/
html form#searchform {
  background: #FFFFFF;
  border: 0;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.25);
  display: block;
  max-width: 18.75rem !important;
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100% !important; }
  html form#searchform input#s::-webkit-input-placeholder {
    font-size: 1rem !important;
    font-family: "rubik", Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.375rem !important;
    text-transform: uppercase !important; }
  html form#searchform input#s::-moz-placeholder {
    font-size: 1rem !important;
    font-family: "rubik", Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.375rem !important;
    text-transform: uppercase !important; }
  html form#searchform input#s:-moz-placeholder {
    font-size: 1rem !important;
    font-family: "rubik", Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.375rem !important;
    text-transform: uppercase !important; }
  html form#searchform input#s:-ms-input-placeholder {
    font-size: 1rem !important;
    font-family: "rubik", Arial, Helvetica, sans-serif !important;
    letter-spacing: 0.375rem !important;
    text-transform: uppercase !important; }
  html form#searchform:before {
    color: #2272B4;
    content: '\f002';
    cursor: pointer;
    display: block;
    font-family: "Font Awesome 5 Pro", 'fontawesome' !important;
    font-size: 1.5rem;
    font-weight: 400;
    height: 3.75rem;
    line-height: 3.625rem;
    pointer-events: none;
    position: absolute;
    text-align: center;
    right: 0;
    top: 0;
    width: 3.375rem; }
  html form#searchform .input-group {
    margin: 0; }
  html form#searchform input#s {
    background: #FFFFFF;
    border: 0;
    box-shadow: none;
    height: 3.75rem;
    line-height: 3.75rem;
    max-width: none;
    margin: 0;
    padding: 0 0.9375rem !important; }
  html form#searchform input#searchsubmit {
    background: #FFFFFF !important;
    height: 2.125rem;
    line-height: 2.125rem;
    margin: 0;
    min-width: 2.25rem;
    padding: 0;
    text-indent: -9999px;
    transition: all 0.2s ease-out 0s; }

html .menu-search-wrapper {
  position: relative; }
  html .menu-search-wrapper form#searchform {
    position: absolute; }

html .above-menu-search-wrapper form#searchform {
  position: relative;
  width: 100%; }

html nav.off-canvas form#searchform {
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.25rem;
  max-width: 30rem !important; }

div#bs-sitewide-popup .bs-popup-overlay {
  background: rgba(0, 0, 0, 0.85);
  bottom: 0;
  cursor: pointer !important;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1000; }

div#bs-sitewide-popup .bs-popup-inner {
  background: #FFFFFF;
  border: 0.125rem solid #2272B4;
  left: 50%;
  margin: 0 auto;
  max-height: 80vh;
  max-width: calc(100% - 1.875rem);
  padding: 1.875rem;
  position: fixed;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  width: 37.5rem;
  z-index: 1001;
  transition: all 0.2s ease-out 0s; }
  div#bs-sitewide-popup .bs-popup-inner h2, div#bs-sitewide-popup .bs-popup-inner h3, div#bs-sitewide-popup .bs-popup-inner h4, div#bs-sitewide-popup .bs-popup-inner h5, div#bs-sitewide-popup .bs-popup-inner h6 {
    color: #2272B4; }
  div#bs-sitewide-popup .bs-popup-inner p {
    color: #000000; }

div#bs-sitewide-popup .bs-popup-close {
  background: #000000;
  color: #FFFFFF;
  cursor: pointer !important;
  font-size: 2.5rem;
  line-height: 5rem;
  height: 5rem;
  pointer-events: none;
  position: fixed;
  right: 0;
  text-align: center;
  top: 0;
  width: 5rem;
  z-index: 1001; }

div#bs-sitewide-popup .bs-popup-hide-forever {
  font-weight: 700; }

div#bs-sitewide-popup.popup-bottom-left .bs-popup-inner, div#bs-sitewide-popup.popup-bottom-right .bs-popup-inner, div#bs-sitewide-popup.popup-bottom-full .bs-popup-inner {
  bottom: 0;
  left: 0;
  right: auto;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  top: auto; }

div#bs-sitewide-popup.popup-bottom-right .bs-popup-inner {
  left: auto;
  right: 0; }

div#bs-sitewide-popup.popup-bottom-full .bs-popup-inner {
  left: 0;
  max-width: 100%;
  right: 0;
  width: 100%; }

div#instafeed.has-arrows {
  padding: 0 1.875rem;
  position: relative; }
  div#instafeed.has-arrows .slick-arrow {
    background: #2272B4;
    border-radius: 0.1875rem;
    color: #FFFFFF;
    cursor: pointer;
    height: 1.5rem;
    position: absolute;
    top: calc(50% - 1rem);
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.5rem;
    transition: background 0.2s ease-out 0s; }
    div#instafeed.has-arrows .slick-arrow:hover, div#instafeed.has-arrows .slick-arrow:focus {
      background: #b01f23; }
    div#instafeed.has-arrows .slick-arrow.slick-prev {
      left: 0; }
    div#instafeed.has-arrows .slick-arrow.slick-next {
      right: 0; }

div#instafeed a.instagram-image {
  overflow: hidden;
  position: relative; }
  div#instafeed a.instagram-image span.ig-caption {
    background: rgba(34, 114, 180, 0.85);
    bottom: 0;
    color: #FFFFFF;
    display: block;
    opacity: 0;
    position: absolute;
    text-align: center;
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%);
    width: 100%;
    transition: all 0.2s ease-out 0s; }
  div#instafeed a.instagram-image span[class*="fa-"] {
    color: #FFFFFF; }
  div#instafeed a.instagram-image img {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    transition: all 0.2s ease-out 0s; }
  div#instafeed a.instagram-image:hover span.ig-caption, div#instafeed a.instagram-image:focus span.ig-caption {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  div#instafeed a.instagram-image:hover img, div#instafeed a.instagram-image:focus img {
    -webkit-transform: scale(1.1) rotate(3deg);
        -ms-transform: scale(1.1) rotate(3deg);
            transform: scale(1.1) rotate(3deg); }

div#instafeed .slick-list.draggable {
  margin-left: -1.25rem; }
  div#instafeed .slick-list.draggable .slick-slide {
    margin-left: 1.25rem; }

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

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

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

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

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

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

input::-webkit-inner-spin-button {
  opacity: 1; }

body.woocommerce span.required, body.woocommerce-page span.required, div.woocommerce span.required {
  color: #b01f23 !important; }

body.woocommerce .star-rating:before, body.woocommerce-page .star-rating:before, div.woocommerce .star-rating:before {
  color: #b99c00; }

body.woocommerce .star-rating span, body.woocommerce-page .star-rating span, div.woocommerce .star-rating span {
  font-family: star !important; }
  body.woocommerce .star-rating span:before, body.woocommerce-page .star-rating span:before, div.woocommerce .star-rating span:before {
    color: #b99c00 !important; }

body.woocommerce p.woocommerce-result-count, body.woocommerce-page p.woocommerce-result-count, div.woocommerce p.woocommerce-result-count {
  font-weight: 700;
  text-transform: uppercase; }

body.woocommerce form.woocommerce-ordering select, body.woocommerce-page form.woocommerce-ordering select, div.woocommerce form.woocommerce-ordering select {
  border: 0.0625rem solid #2272B4;
  border-radius: 0.375rem; }

body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb, body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb, div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb {
  color: #333;
  font-family: "rubik", Arial, Helvetica, sans-serif !important;
  font-size: 0.875rem;
  font-weight: 700;
  margin: 1rem 0 !important; }
  body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator, body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator, div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb span.separator {
    font-size: 0.875rem;
    font-weight: 700;
    margin: 0 0.625rem; }
  body.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb a, body.woocommerce-page .breadcrumbs-wrapper nav.woocommerce-breadcrumb a, div.woocommerce .breadcrumbs-wrapper nav.woocommerce-breadcrumb a {
    font-family: "rubik", Arial, Helvetica, sans-serif !important;
    font-size: 0.875rem;
    font-weight: 700; }

body.woocommerce .breadcrumbs-wrapper.shop-layout-narrow-content, body.woocommerce-page .breadcrumbs-wrapper.shop-layout-narrow-content, div.woocommerce .breadcrumbs-wrapper.shop-layout-narrow-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 51.875rem;
  width: 100%; }

body.woocommerce .woocommerce-shop-title, body.woocommerce-page .woocommerce-shop-title, div.woocommerce .woocommerce-shop-title {
  padding: 1.5625rem 0.9375rem 0; }
  @media only screen and (max-width: 47.9375em) {
    body.woocommerce .woocommerce-shop-title, body.woocommerce-page .woocommerce-shop-title, div.woocommerce .woocommerce-shop-title {
      padding: 1.5rem 0.9375rem 1.25rem; } }
  body.woocommerce .woocommerce-shop-title h1, body.woocommerce-page .woocommerce-shop-title h1, div.woocommerce .woocommerce-shop-title h1 {
    font-size: 2.5rem !important; }
    body.woocommerce .woocommerce-shop-title h1 i, body.woocommerce-page .woocommerce-shop-title h1 i, div.woocommerce .woocommerce-shop-title h1 i {
      font-size: 1.875rem !important; }
  body.woocommerce .woocommerce-shop-title.shop-layout-narrow-content, body.woocommerce-page .woocommerce-shop-title.shop-layout-narrow-content, div.woocommerce .woocommerce-shop-title.shop-layout-narrow-content {
    margin-left: auto;
    margin-right: auto;
    max-width: 51.875rem;
    width: 100%; }

body.woocommerce .main-wrap.shop-layout-sidebar-left article.main-content.woocommerce-index, body.woocommerce-page .main-wrap.shop-layout-sidebar-left article.main-content.woocommerce-index, div.woocommerce .main-wrap.shop-layout-sidebar-left article.main-content.woocommerce-index {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

body.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar, body.woocommerce-page .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar, div.woocommerce .main-wrap.shop-layout-sidebar-left aside.woocommerce-sidebar.sidebar {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

body.woocommerce .main-wrap.shop-layout-sidebar-right article.main-content.woocommerce-index, body.woocommerce-page .main-wrap.shop-layout-sidebar-right article.main-content.woocommerce-index, div.woocommerce .main-wrap.shop-layout-sidebar-right article.main-content.woocommerce-index {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

body.woocommerce .main-wrap.shop-layout-sidebar-right aside.woocommerce-sidebar.sidebar, body.woocommerce-page .main-wrap.shop-layout-sidebar-right aside.woocommerce-sidebar.sidebar, div.woocommerce .main-wrap.shop-layout-sidebar-right aside.woocommerce-sidebar.sidebar {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

body.woocommerce .main-wrap.shop-layout-full-width article.main-content.woocommerce-index, body.woocommerce-page .main-wrap.shop-layout-full-width article.main-content.woocommerce-index, div.woocommerce .main-wrap.shop-layout-full-width article.main-content.woocommerce-index {
  max-width: 100%;
  width: 100%; }

body.woocommerce .main-wrap.shop-layout-narrow-content article.main-content.woocommerce-index, body.woocommerce-page .main-wrap.shop-layout-narrow-content article.main-content.woocommerce-index, div.woocommerce .main-wrap.shop-layout-narrow-content article.main-content.woocommerce-index {
  margin-left: auto;
  margin-right: auto;
  max-width: 50rem;
  width: calc(100% - 1.875rem); }

body.woocommerce .woocommerce-index h1.page-title, body.woocommerce-page .woocommerce-index h1.page-title, div.woocommerce .woocommerce-index h1.page-title {
  display: none; }

body.woocommerce h2.woocommerce-page-title, body.woocommerce-page h2.woocommerce-page-title, div.woocommerce h2.woocommerce-page-title {
  font-size: 1.625rem !important;
  margin-bottom: 0.625rem;
  text-transform: uppercase; }
  body.woocommerce h2.woocommerce-page-title + p.woocommerce-result-count, body.woocommerce-page h2.woocommerce-page-title + p.woocommerce-result-count, div.woocommerce h2.woocommerce-page-title + p.woocommerce-result-count {
    margin-top: -0.625rem; }

@media only screen and (max-width: 47.9375em) {
  body.woocommerce .woocommerce-ordering, body.woocommerce-page .woocommerce-ordering, div.woocommerce .woocommerce-ordering {
    float: none;
    max-width: 13.75rem; } }

body.woocommerce ul.products, body.woocommerce-page ul.products, div.woocommerce ul.products {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  body.woocommerce ul.products > li.product, body.woocommerce-page ul.products > li.product, div.woocommerce ul.products > li.product {
    float: none; }
    body.woocommerce ul.products > li.product.outofstock, body.woocommerce-page ul.products > li.product.outofstock, div.woocommerce ul.products > li.product.outofstock {
      overflow: hidden; }
      body.woocommerce ul.products > li.product.outofstock:before, body.woocommerce-page ul.products > li.product.outofstock:before, div.woocommerce ul.products > li.product.outofstock:before {
        background: #2272B4;
        color: #FFFFFF;
        content: 'Out of stock';
        display: block !important;
        font-size: 0.75rem;
        font-weight: 700;
        right: -2rem;
        padding: 0.3125rem 2rem;
        position: absolute;
        text-transform: uppercase;
        -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
                transform: rotate(45deg);
        top: 1.875rem;
        z-index: 99; }
    body.woocommerce ul.products > li.product .woocommerce-loop-category__title, body.woocommerce-page ul.products > li.product .woocommerce-loop-category__title, div.woocommerce ul.products > li.product .woocommerce-loop-category__title {
      font-size: 1.5rem !important;
      padding: 0;
      text-align: center; }
    body.woocommerce ul.products > li.product > a .image-wrapper, body.woocommerce-page ul.products > li.product > a .image-wrapper, div.woocommerce ul.products > li.product > a .image-wrapper {
      border: 0.0625rem solid #2272B4;
      margin-bottom: 0.625rem;
      overflow: hidden; }
    body.woocommerce ul.products > li.product > a img, body.woocommerce-page ul.products > li.product > a img, div.woocommerce ul.products > li.product > a img {
      margin-bottom: 0;
      transition: all 0.2s ease-out 0s; }
    body.woocommerce ul.products > li.product > a .woocommerce-loop-product__title, body.woocommerce-page ul.products > li.product > a .woocommerce-loop-product__title, div.woocommerce ul.products > li.product > a .woocommerce-loop-product__title {
      font-size: 1.375rem !important;
      padding: 0 0 0.625rem 0; }
    body.woocommerce ul.products > li.product > a span.price, body.woocommerce-page ul.products > li.product > a span.price, div.woocommerce ul.products > li.product > a span.price {
      font-size: 1.125rem;
      margin-bottom: 0; }
      body.woocommerce ul.products > li.product > a span.price span.amount, body.woocommerce-page ul.products > li.product > a span.price span.amount, div.woocommerce ul.products > li.product > a span.price span.amount {
        color: #2272B4 !important; }
    body.woocommerce ul.products > li.product:hover > a img, body.woocommerce ul.products > li.product:focus > a img, body.woocommerce-page ul.products > li.product:hover > a img, body.woocommerce-page ul.products > li.product:focus > a img, div.woocommerce ul.products > li.product:hover > a img, div.woocommerce ul.products > li.product:focus > a img {
      -webkit-transform: scale(1.2) rotate(3deg);
          -ms-transform: scale(1.2) rotate(3deg);
              transform: scale(1.2) rotate(3deg); }
  body.woocommerce ul.products.columns-2, body.woocommerce ul.products.columns-3, body.woocommerce ul.products.columns-4, body.woocommerce-page ul.products.columns-2, body.woocommerce-page ul.products.columns-3, body.woocommerce-page ul.products.columns-4, div.woocommerce ul.products.columns-2, div.woocommerce ul.products.columns-3, div.woocommerce ul.products.columns-4 {
    margin-left: -1.875rem;
    margin-bottom: 0; }
    body.woocommerce ul.products.columns-2 > li.product, body.woocommerce ul.products.columns-3 > li.product, body.woocommerce ul.products.columns-4 > li.product, body.woocommerce-page ul.products.columns-2 > li.product, body.woocommerce-page ul.products.columns-3 > li.product, body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-2 > li.product, div.woocommerce ul.products.columns-3 > li.product, div.woocommerce ul.products.columns-4 > li.product {
      margin: 0 0 2.8125rem 0;
      padding-left: 1.875rem;
      width: 33.3333%; }
      body.woocommerce ul.products.columns-2 > li.product.last, body.woocommerce ul.products.columns-3 > li.product.last, body.woocommerce ul.products.columns-4 > li.product.last, body.woocommerce-page ul.products.columns-2 > li.product.last, body.woocommerce-page ul.products.columns-3 > li.product.last, body.woocommerce-page ul.products.columns-4 > li.product.last, div.woocommerce ul.products.columns-2 > li.product.last, div.woocommerce ul.products.columns-3 > li.product.last, div.woocommerce ul.products.columns-4 > li.product.last {
        margin: 0 0 2.8125rem 0; }
      @media only screen and (max-width: 47.9375em) {
        body.woocommerce ul.products.columns-2 > li.product, body.woocommerce ul.products.columns-3 > li.product, body.woocommerce ul.products.columns-4 > li.product, body.woocommerce-page ul.products.columns-2 > li.product, body.woocommerce-page ul.products.columns-3 > li.product, body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-2 > li.product, div.woocommerce ul.products.columns-3 > li.product, div.woocommerce ul.products.columns-4 > li.product {
          width: 50%; } }
      @media only screen and (max-width: 37.5em) {
        body.woocommerce ul.products.columns-2 > li.product, body.woocommerce ul.products.columns-3 > li.product, body.woocommerce ul.products.columns-4 > li.product, body.woocommerce-page ul.products.columns-2 > li.product, body.woocommerce-page ul.products.columns-3 > li.product, body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-2 > li.product, div.woocommerce ul.products.columns-3 > li.product, div.woocommerce ul.products.columns-4 > li.product {
          width: 100%; }
          body.woocommerce ul.products.columns-2 > li.product.last, body.woocommerce ul.products.columns-3 > li.product.last, body.woocommerce ul.products.columns-4 > li.product.last, body.woocommerce-page ul.products.columns-2 > li.product.last, body.woocommerce-page ul.products.columns-3 > li.product.last, body.woocommerce-page ul.products.columns-4 > li.product.last, div.woocommerce ul.products.columns-2 > li.product.last, div.woocommerce ul.products.columns-3 > li.product.last, div.woocommerce ul.products.columns-4 > li.product.last {
            margin: 0; }
          body.woocommerce ul.products.columns-2 > li.product.last + li.product.first, body.woocommerce ul.products.columns-3 > li.product.last + li.product.first, body.woocommerce ul.products.columns-4 > li.product.last + li.product.first, body.woocommerce-page ul.products.columns-2 > li.product.last + li.product.first, body.woocommerce-page ul.products.columns-3 > li.product.last + li.product.first, body.woocommerce-page ul.products.columns-4 > li.product.last + li.product.first, div.woocommerce ul.products.columns-2 > li.product.last + li.product.first, div.woocommerce ul.products.columns-3 > li.product.last + li.product.first, div.woocommerce ul.products.columns-4 > li.product.last + li.product.first {
            margin: 2.8125rem 0 !important; } }
      body.woocommerce ul.products.columns-2 > li.product .image-wrapper, body.woocommerce ul.products.columns-3 > li.product .image-wrapper, body.woocommerce ul.products.columns-4 > li.product .image-wrapper, body.woocommerce-page ul.products.columns-2 > li.product .image-wrapper, body.woocommerce-page ul.products.columns-3 > li.product .image-wrapper, body.woocommerce-page ul.products.columns-4 > li.product .image-wrapper, div.woocommerce ul.products.columns-2 > li.product .image-wrapper, div.woocommerce ul.products.columns-3 > li.product .image-wrapper, div.woocommerce ul.products.columns-4 > li.product .image-wrapper {
        border: 0; }
      body.woocommerce ul.products.columns-2 > li.product a.woocommerce-LoopProduct-link, body.woocommerce ul.products.columns-3 > li.product a.woocommerce-LoopProduct-link, body.woocommerce ul.products.columns-4 > li.product a.woocommerce-LoopProduct-link, body.woocommerce-page ul.products.columns-2 > li.product a.woocommerce-LoopProduct-link, body.woocommerce-page ul.products.columns-3 > li.product a.woocommerce-LoopProduct-link, body.woocommerce-page ul.products.columns-4 > li.product a.woocommerce-LoopProduct-link, div.woocommerce ul.products.columns-2 > li.product a.woocommerce-LoopProduct-link, div.woocommerce ul.products.columns-3 > li.product a.woocommerce-LoopProduct-link, div.woocommerce ul.products.columns-4 > li.product a.woocommerce-LoopProduct-link {
        background: #D5CDB7;
        border: 0.125rem solid #b01f23;
        display: block;
        padding: 0 0 0.9375rem 0; }
      body.woocommerce ul.products.columns-2 > li.product h2.woocommerce-loop-product__title, body.woocommerce ul.products.columns-3 > li.product h2.woocommerce-loop-product__title, body.woocommerce ul.products.columns-4 > li.product h2.woocommerce-loop-product__title, body.woocommerce-page ul.products.columns-2 > li.product h2.woocommerce-loop-product__title, body.woocommerce-page ul.products.columns-3 > li.product h2.woocommerce-loop-product__title, body.woocommerce-page ul.products.columns-4 > li.product h2.woocommerce-loop-product__title, div.woocommerce ul.products.columns-2 > li.product h2.woocommerce-loop-product__title, div.woocommerce ul.products.columns-3 > li.product h2.woocommerce-loop-product__title, div.woocommerce ul.products.columns-4 > li.product h2.woocommerce-loop-product__title {
        padding: 0 0.9375rem 0.625rem; }
      body.woocommerce ul.products.columns-2 > li.product span.price, body.woocommerce ul.products.columns-3 > li.product span.price, body.woocommerce ul.products.columns-4 > li.product span.price, body.woocommerce-page ul.products.columns-2 > li.product span.price, body.woocommerce-page ul.products.columns-3 > li.product span.price, body.woocommerce-page ul.products.columns-4 > li.product span.price, div.woocommerce ul.products.columns-2 > li.product span.price, div.woocommerce ul.products.columns-3 > li.product span.price, div.woocommerce ul.products.columns-4 > li.product span.price {
        padding: 0 0.9375rem; }
      body.woocommerce ul.products.columns-2 > li.product div.star-rating, body.woocommerce ul.products.columns-3 > li.product div.star-rating, body.woocommerce ul.products.columns-4 > li.product div.star-rating, body.woocommerce-page ul.products.columns-2 > li.product div.star-rating, body.woocommerce-page ul.products.columns-3 > li.product div.star-rating, body.woocommerce-page ul.products.columns-4 > li.product div.star-rating, div.woocommerce ul.products.columns-2 > li.product div.star-rating, div.woocommerce ul.products.columns-3 > li.product div.star-rating, div.woocommerce ul.products.columns-4 > li.product div.star-rating {
        margin-left: 0.9375rem; }
      body.woocommerce ul.products.columns-2 > li.product .button, body.woocommerce ul.products.columns-3 > li.product .button, body.woocommerce ul.products.columns-4 > li.product .button, body.woocommerce-page ul.products.columns-2 > li.product .button, body.woocommerce-page ul.products.columns-3 > li.product .button, body.woocommerce-page ul.products.columns-4 > li.product .button, div.woocommerce ul.products.columns-2 > li.product .button, div.woocommerce ul.products.columns-3 > li.product .button, div.woocommerce ul.products.columns-4 > li.product .button {
        border-radius: 0 !important;
        display: block;
        margin-top: 0; }
  body.woocommerce ul.products.columns-2 > li.product, body.woocommerce-page ul.products.columns-2 > li.product, div.woocommerce ul.products.columns-2 > li.product {
    width: 50%; }
    @media only screen and (max-width: 37.5em) {
      body.woocommerce ul.products.columns-2 > li.product, body.woocommerce-page ul.products.columns-2 > li.product, div.woocommerce ul.products.columns-2 > li.product {
        width: 100%; } }
  body.woocommerce ul.products.columns-4 > li.product, body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-4 > li.product {
    width: 25%; }
    @media only screen and (max-width: 64em) {
      body.woocommerce ul.products.columns-4 > li.product, body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-4 > li.product {
        clear: none !important;
        width: 33.3333%; } }
    @media only screen and (max-width: 47.9375em) {
      body.woocommerce ul.products.columns-4 > li.product, body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-4 > li.product {
        width: 50%; } }
    @media only screen and (max-width: 37.5em) {
      body.woocommerce ul.products.columns-4 > li.product, body.woocommerce-page ul.products.columns-4 > li.product, div.woocommerce ul.products.columns-4 > li.product {
        width: 100%; } }

body.woocommerce .product-top-wrapper, body.woocommerce-page .product-top-wrapper, div.woocommerce .product-top-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (max-width: 48em) {
    body.woocommerce .product-top-wrapper, body.woocommerce-page .product-top-wrapper, div.woocommerce .product-top-wrapper {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  body.woocommerce .product-top-wrapper span.onsale, body.woocommerce-page .product-top-wrapper span.onsale, div.woocommerce .product-top-wrapper span.onsale {
    left: 0 !important; }
  body.woocommerce .product-top-wrapper div.woocommerce-product-gallery, body.woocommerce-page .product-top-wrapper div.woocommerce-product-gallery, div.woocommerce .product-top-wrapper div.woocommerce-product-gallery {
    margin-bottom: 0; }
  body.woocommerce .product-top-wrapper div.summary.entry-summary, body.woocommerce-page .product-top-wrapper div.summary.entry-summary, div.woocommerce .product-top-wrapper div.summary.entry-summary {
    float: none;
    margin-bottom: 0; }

body.woocommerce span.onsale, body.woocommerce-page span.onsale, div.woocommerce span.onsale {
  background: #2272B4;
  border-radius: 0;
  color: #FFFFFF !important;
  height: auto;
  line-height: 1;
  margin: 0.5rem 0.0625rem 0 0 !important;
  min-height: 0;
  min-width: 0;
  padding: 0.625rem;
  position: absolute;
  text-transform: uppercase;
  width: auto; }
  body.woocommerce span.onsale:before, body.woocommerce span.onsale:after, body.woocommerce-page span.onsale:before, body.woocommerce-page span.onsale:after, div.woocommerce span.onsale:before, div.woocommerce span.onsale:after {
    border: 1.0625rem solid transparent;
    content: '';
    height: 0.0625rem;
    left: -1.0625rem;
    position: absolute;
    width: 0.0625rem; }
  body.woocommerce span.onsale:before, body.woocommerce-page span.onsale:before, div.woocommerce span.onsale:before {
    border-top-color: #2272B4;
    top: 0; }
  body.woocommerce span.onsale:after, body.woocommerce-page span.onsale:after, div.woocommerce span.onsale:after {
    border-bottom-color: #2272B4;
    bottom: 0; }

body.woocommerce .product.sale span.onsale, body.woocommerce-page .product.sale span.onsale, div.woocommerce .product.sale span.onsale {
  border-radius: 0;
  left: 1.875rem;
  padding: 0.625rem;
  right: auto;
  top: 0; }
  body.woocommerce .product.sale span.onsale:before, body.woocommerce .product.sale span.onsale:after, body.woocommerce-page .product.sale span.onsale:before, body.woocommerce-page .product.sale span.onsale:after, div.woocommerce .product.sale span.onsale:before, div.woocommerce .product.sale span.onsale:after {
    left: auto;
    right: -1.0625rem; }

body.woocommerce .main-wrap .button, body.woocommerce .main-wrap .button.wc-backward, body.woocommerce .button, body.woocommerce .button.wc-backward, body.woocommerce .comment-form p.form-submit input, body.woocommerce-page .main-wrap .button, body.woocommerce-page .main-wrap .button.wc-backward, body.woocommerce-page .button, body.woocommerce-page .button.wc-backward, body.woocommerce-page .comment-form p.form-submit input, div.woocommerce .main-wrap .button, div.woocommerce .main-wrap .button.wc-backward, div.woocommerce .button, div.woocommerce .button.wc-backward, div.woocommerce .comment-form p.form-submit input {
  background: #b01f23 !important;
  border-radius: 6.25rem !important;
  color: #FFFFFF !important;
  font-family: "rubik", Arial, Helvetica, sans-serif;
  font-size: 0.875rem;
  font-weight: 700 !important;
  letter-spacing: -.03em;
  line-height: 1;
  padding: 0.9375rem 1.25rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.2s ease-out 0s; }
  body.woocommerce .main-wrap .button:hover, body.woocommerce .main-wrap .button:focus, body.woocommerce .main-wrap .button.wc-backward:hover, body.woocommerce .main-wrap .button.wc-backward:focus, body.woocommerce .button:hover, body.woocommerce .button:focus, body.woocommerce .button.wc-backward:hover, body.woocommerce .button.wc-backward:focus, body.woocommerce .comment-form p.form-submit input:hover, body.woocommerce .comment-form p.form-submit input:focus, body.woocommerce-page .main-wrap .button:hover, body.woocommerce-page .main-wrap .button:focus, body.woocommerce-page .main-wrap .button.wc-backward:hover, body.woocommerce-page .main-wrap .button.wc-backward:focus, body.woocommerce-page .button:hover, body.woocommerce-page .button:focus, body.woocommerce-page .button.wc-backward:hover, body.woocommerce-page .button.wc-backward:focus, body.woocommerce-page .comment-form p.form-submit input:hover, body.woocommerce-page .comment-form p.form-submit input:focus, div.woocommerce .main-wrap .button:hover, div.woocommerce .main-wrap .button:focus, div.woocommerce .main-wrap .button.wc-backward:hover, div.woocommerce .main-wrap .button.wc-backward:focus, div.woocommerce .button:hover, div.woocommerce .button:focus, div.woocommerce .button.wc-backward:hover, div.woocommerce .button.wc-backward:focus, div.woocommerce .comment-form p.form-submit input:hover, div.woocommerce .comment-form p.form-submit input:focus {
    background: #000000 !important; }

body.woocommerce .add_to_cart_button.ajax_add_to_cart,
body.woocommerce .button.product_type_variable, body.woocommerce-page .add_to_cart_button.ajax_add_to_cart,
body.woocommerce-page .button.product_type_variable, div.woocommerce .add_to_cart_button.ajax_add_to_cart,
div.woocommerce .button.product_type_variable {
  padding: 0.9375rem;
  text-align: left; }
  body.woocommerce .add_to_cart_button.ajax_add_to_cart:after,
  body.woocommerce .button.product_type_variable:after, body.woocommerce-page .add_to_cart_button.ajax_add_to_cart:after,
  body.woocommerce-page .button.product_type_variable:after, div.woocommerce .add_to_cart_button.ajax_add_to_cart:after,
  div.woocommerce .button.product_type_variable:after {
    background: #008000;
    border-radius: 100%;
    bottom: 0.125rem;
    color: #FFFFFF;
    line-height: 2.1875rem;
    margin: 0;
    padding: 0.3125rem;
    position: absolute;
    right: 0.125rem;
    text-align: center;
    top: 0;
    width: 2.625rem; }
  body.woocommerce .add_to_cart_button.ajax_add_to_cart.added:after,
  body.woocommerce .button.product_type_variable.added:after, body.woocommerce-page .add_to_cart_button.ajax_add_to_cart.added:after,
  body.woocommerce-page .button.product_type_variable.added:after, div.woocommerce .add_to_cart_button.ajax_add_to_cart.added:after,
  div.woocommerce .button.product_type_variable.added:after {
    border-radius: 0; }
  body.woocommerce .add_to_cart_button.ajax_add_to_cart + a.added_to_cart,
  body.woocommerce .button.product_type_variable + a.added_to_cart, body.woocommerce-page .add_to_cart_button.ajax_add_to_cart + a.added_to_cart,
  body.woocommerce-page .button.product_type_variable + a.added_to_cart, div.woocommerce .add_to_cart_button.ajax_add_to_cart + a.added_to_cart,
  div.woocommerce .button.product_type_variable + a.added_to_cart {
    font-weight: 700;
    padding: 0; }

@media only screen and (max-width: 47.9375em) {
  body.woocommerce .main-wrap, body.woocommerce-page .main-wrap, div.woocommerce .main-wrap {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0; } }

@media only screen and (max-width: 47.9375em) {
  body.woocommerce .main-wrap .main-content, body.woocommerce-page .main-wrap .main-content, div.woocommerce .main-wrap .main-content {
    max-width: 100% !important;
    width: calc(100% - 1.875rem) !important; } }

@media only screen and (max-width: 59.4375em) {
  body.woocommerce .main-wrap .woocommerce-index, body.woocommerce-page .main-wrap .woocommerce-index, div.woocommerce .main-wrap .woocommerce-index {
    max-width: calc(100% - 16.25rem);
    width: 100%; } }

@media only screen and (max-width: 47.9375em) {
  body.woocommerce .main-wrap .woocommerce-index, body.woocommerce-page .main-wrap .woocommerce-index, div.woocommerce .main-wrap .woocommerce-index {
    max-width: 100%;
    -webkit-order: 1 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
    width: calc(100% - 1.875rem) !important; } }

body.woocommerce .main-wrap .woocommerce-index .related.products h3, body.woocommerce-page .main-wrap .woocommerce-index .related.products h3, div.woocommerce .main-wrap .woocommerce-index .related.products h3 {
  margin-bottom: 0.25rem; }

body.woocommerce .main-wrap .woocommerce-index .related.products ul.products li, body.woocommerce-page .main-wrap .woocommerce-index .related.products ul.products li, div.woocommerce .main-wrap .woocommerce-index .related.products ul.products li {
  width: 33.333%; }
  body.woocommerce .main-wrap .woocommerce-index .related.products ul.products li h2.woocommerce-loop-product__title, body.woocommerce-page .main-wrap .woocommerce-index .related.products ul.products li h2.woocommerce-loop-product__title, div.woocommerce .main-wrap .woocommerce-index .related.products ul.products li h2.woocommerce-loop-product__title {
    font-size: 1.375rem !important; }
  @media only screen and (max-width: 47.9375em) {
    body.woocommerce .main-wrap .woocommerce-index .related.products ul.products li, body.woocommerce-page .main-wrap .woocommerce-index .related.products ul.products li, div.woocommerce .main-wrap .woocommerce-index .related.products ul.products li {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    body.woocommerce .main-wrap .woocommerce-index .related.products ul.products li, body.woocommerce-page .main-wrap .woocommerce-index .related.products ul.products li, div.woocommerce .main-wrap .woocommerce-index .related.products ul.products li {
      width: 100%; } }
  body.woocommerce .main-wrap .woocommerce-index .related.products ul.products li.sale span.onsale, body.woocommerce-page .main-wrap .woocommerce-index .related.products ul.products li.sale span.onsale, div.woocommerce .main-wrap .woocommerce-index .related.products ul.products li.sale span.onsale {
    left: 1.875rem; }

body.woocommerce .main-wrap aside.sidebar, body.woocommerce-page .main-wrap aside.sidebar, div.woocommerce .main-wrap aside.sidebar {
  background: #D5CDB7;
  padding: 1.5625rem; }
  @media only screen and (max-width: 59.4375em) {
    body.woocommerce .main-wrap aside.sidebar, body.woocommerce-page .main-wrap aside.sidebar, div.woocommerce .main-wrap aside.sidebar {
      width: 12.5rem !important; } }
  @media only screen and (max-width: 47.9375em) {
    body.woocommerce .main-wrap aside.sidebar, body.woocommerce-page .main-wrap aside.sidebar, div.woocommerce .main-wrap aside.sidebar {
      -webkit-order: 2 !important;
          -ms-flex-order: 2 !important;
              order: 2 !important;
      width: calc(100% - 1.875rem) !important; } }
  body.woocommerce .main-wrap aside.sidebar .widget_product_categories h6, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories h6, div.woocommerce .main-wrap aside.sidebar .widget_product_categories h6 {
    border-bottom: 0.125rem solid #2272B4;
    font-size: 1.125rem !important;
    margin-bottom: 0.625rem;
    padding-bottom: 0.625rem;
    text-transform: uppercase; }
    body.woocommerce .main-wrap aside.sidebar .widget_product_categories h6:before, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories h6:before, div.woocommerce .main-wrap aside.sidebar .widget_product_categories h6:before {
      content: '\f07a';
      font-family: fontawesome;
      font-size: 1.25rem;
      margin-right: 0.3125rem; }
  body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories {
    list-style: none;
    margin: 0; }
    body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item {
      position: relative; }
    body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > a, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > a, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > a {
      color: #2272B4;
      display: inline-block;
      font-size: 1.125rem !important;
      font-weight: 700;
      margin-bottom: 0.625rem;
      vertical-align: middle; }
    body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item i.close-cat-list, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item i.close-cat-list, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item i.close-cat-list {
      color: #b01f23;
      cursor: pointer;
      opacity: 0;
      position: absolute;
      right: 0;
      top: 0.3125rem;
      transition: all 0.2s ease-out 0s; }
    body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list {
      color: #b01f23 !important;
      cursor: pointer !important;
      display: inline-block;
      height: 1.25rem;
      line-height: 1.25rem;
      position: relative;
      top: 0.25rem;
      vertical-align: top;
      width: 1.25rem;
      transition: all 0.2s ease-out 0s; }
      body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron {
        left: -0.3125rem;
        top: 0.5625rem;
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg); }
    body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron ~ i.close-cat-list, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron ~ i.close-cat-list, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories > li.cat-item > i.toggle-cat-list.animate-chevron ~ i.close-cat-list {
      opacity: 1; }
    body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children {
      border-top: 0.0625rem solid #FFFFFF;
      list-style: none;
      height: 0;
      margin-left: 1.0625rem;
      opacity: 0;
      padding-top: 0.625rem;
      position: relative;
      z-index: -1;
      transition: all .5s ease-out; }
      body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children.show-cats, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children.show-cats, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children.show-cats {
        height: auto;
        opacity: 1;
        z-index: 10; }
      body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li {
        border-bottom: 0.0625rem solid #FFFFFF;
        margin-bottom: 0.625rem;
        padding-bottom: 0.625rem; }
        body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li a, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li a, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li a {
          color: #5B5B5B;
          display: block;
          font-size: 0.875rem;
          font-weight: 700;
          padding: 0 0.3125rem !important; }
        body.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li.current-cat > a, body.woocommerce-page .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li.current-cat > a, div.woocommerce .main-wrap aside.sidebar .widget_product_categories ul.product-categories ul.children li.current-cat > a {
          color: #000000; }

body.woocommerce .woocommerce-tabs, body.woocommerce-page .woocommerce-tabs, div.woocommerce .woocommerce-tabs {
  margin-top: 3.75rem !important;
  margin-bottom: 3.75rem !important; }
  body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs {
    border: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: -0.0625rem;
    padding-left: 0; }
    @media only screen and (max-width: 47.9375em) {
      body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
    body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs:before, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs:before, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs:before {
      border-bottom: 0.0625rem solid #2272B4; }
    body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li {
      background: #2272B4;
      border: 0.0625rem solid #2272B4;
      border-radius: 0;
      color: #FFFFFF;
      margin: 0 0.125rem 0 0;
      padding: 0;
      position: relative;
      transition: background 0.2s ease-out 0s; }
      body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:before, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:after, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:before, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:after, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:before, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:after {
        display: none; }
      body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li a {
        color: #FFFFFF;
        display: block;
        font-weight: 600;
        padding: 0.3125rem 0.625rem;
        text-decoration: none !important;
        text-transform: uppercase;
        width: 100%; }
      body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:hover, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:focus, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:hover, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:focus, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:hover, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:focus {
        background: #b01f23; }
        body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:hover a, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:focus a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:hover a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li:focus a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:hover a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li:focus a {
          color: #FFFFFF; }
      body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus {
        background: #D5CDB7;
        border-bottom-color: #D5CDB7 !important; }
        body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a {
          border-bottom: 0.0625rem solid #D5CDB7;
          color: #333 !important; }
          @media only screen and (max-width: 47.9375em) {
            body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a {
              border-bottom: 0; } }
      @media only screen and (max-width: 47.9375em) {
        body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li {
          border-bottom: 0.0625rem solid #D5CDB7;
          box-shadow: 0 -0.125rem 0.4375rem #001e61;
          padding: 0 0.625rem;
          width: 100%;
          transition: padding 0.2s ease-out 0s; }
          body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus {
            background: #b01f23;
            padding: 0.3125rem 0.625rem; }
            body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, body.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, body.woocommerce-page .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:hover a, div.woocommerce .woocommerce-tabs ul.tabs.wc-tabs li.active:focus a {
              color: #FFFFFF !important; } }
  body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel, body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel {
    background: #D5CDB7;
    border: 0.0625rem solid #2272B4;
    padding: 0.9375rem !important; }
    body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel p:last-of-type, body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel p:last-of-type, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel p:last-of-type {
      margin-bottom: 0; }
    body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes, body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tbody, body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes, body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tbody, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes tbody {
      border: 0.0625rem solid #D5CDB7 !important;
      margin-bottom: 0; }
    body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title, body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title span, body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title, body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title span, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel h2.woocommerce-Reviews-title span {
      font-size: 1.5rem !important;
      margin-bottom: 0.9375rem; }
    body.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel .related.products ul[class*="columns-"] li, body.woocommerce-page .woocommerce-tabs .woocommerce-Tabs-panel .related.products ul[class*="columns-"] li, div.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel .related.products ul[class*="columns-"] li {
      margin-bottom: 0.9375rem; }

body.woocommerce #reviews #comments ol.commentlist li.comment .comment_container img.avatar, body.woocommerce-page #reviews #comments ol.commentlist li.comment .comment_container img.avatar, div.woocommerce #reviews #comments ol.commentlist li.comment .comment_container img.avatar {
  border: 0;
  border-radius: 100%;
  padding: 0 !important; }

body.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text, body.woocommerce-page #reviews #comments ol.commentlist li.comment .comment_container .comment-text, div.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text {
  background: #FFFFFF;
  margin: 0 0 0 2.5rem; }
  body.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text .star-rating, body.woocommerce-page #reviews #comments ol.commentlist li.comment .comment_container .comment-text .star-rating, div.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text .star-rating {
    margin-left: 0.625rem; }
  body.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text p.meta, body.woocommerce-page #reviews #comments ol.commentlist li.comment .comment_container .comment-text p.meta, div.woocommerce #reviews #comments ol.commentlist li.comment .comment_container .comment-text p.meta {
    color: #000000; }

body.woocommerce #reviews #review_form_wrapper #reply-title, body.woocommerce-page #reviews #review_form_wrapper #reply-title, div.woocommerce #reviews #review_form_wrapper #reply-title {
  color: #2272B4;
  font-size: 1.125rem;
  font-weight: 700; }

body.woocommerce #reviews #review_form_wrapper p.stars, body.woocommerce-page #reviews #review_form_wrapper p.stars, div.woocommerce #reviews #review_form_wrapper p.stars {
  color: #b99c00; }
  body.woocommerce #reviews #review_form_wrapper p.stars a:before, body.woocommerce-page #reviews #review_form_wrapper p.stars a:before, div.woocommerce #reviews #review_form_wrapper p.stars a:before {
    color: #b99c00; }

body.woocommerce .product_meta span.sku_wrapper strong, body.woocommerce-page .product_meta span.sku_wrapper strong, div.woocommerce .product_meta span.sku_wrapper strong {
  color: #000000;
  display: inline-block;
  width: 100%; }

body.woocommerce .product_meta span.posted_in strong, body.woocommerce-page .product_meta span.posted_in strong, div.woocommerce .product_meta span.posted_in strong {
  color: #000000;
  display: inline-block;
  margin-top: 10px;
  width: 100%; }

body.woocommerce form.cart, body.woocommerce-page form.cart, div.woocommerce form.cart {
  margin-bottom: 0 !important; }
  body.woocommerce form.cart input, body.woocommerce-page form.cart input, div.woocommerce form.cart input {
    border: 0.0625rem solid #2272B4;
    border-radius: 0.375rem;
    min-height: 2.75rem; }
  body.woocommerce form.cart button, body.woocommerce-page form.cart button, div.woocommerce form.cart button {
    margin-left: 0.625rem; }

body.woocommerce .woocommerce-product-gallery.images .flex-viewport, body.woocommerce-page .woocommerce-product-gallery.images .flex-viewport, div.woocommerce .woocommerce-product-gallery.images .flex-viewport {
  border: 0.0625rem solid #666666; }
  body.woocommerce .woocommerce-product-gallery.images .flex-viewport .woocommerce-product-gallery__image, body.woocommerce-page .woocommerce-product-gallery.images .flex-viewport .woocommerce-product-gallery__image, div.woocommerce .woocommerce-product-gallery.images .flex-viewport .woocommerce-product-gallery__image {
    border: 0 !important; }

body.woocommerce .woocommerce-product-gallery.images .woocommerce-product-gallery__image, body.woocommerce-page .woocommerce-product-gallery.images .woocommerce-product-gallery__image, div.woocommerce .woocommerce-product-gallery.images .woocommerce-product-gallery__image {
  border: 0.0625rem solid #2272B4;
  cursor: grab !important;
  margin-bottom: 0.625rem;
  position: relative; }

body.woocommerce .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs, body.woocommerce-page .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs, div.woocommerce .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs {
  margin-left: -0.625rem; }
  body.woocommerce .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs li, body.woocommerce-page .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs li, div.woocommerce .woocommerce-product-gallery.images ol.flex-control-nav.flex-control-thumbs li {
    padding-left: 0.625rem; }

body.woocommerce .summary.entry-summary, body.woocommerce-page .summary.entry-summary, div.woocommerce .summary.entry-summary {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  body.woocommerce .summary.entry-summary h2.product_title.entry-title, body.woocommerce-page .summary.entry-summary h2.product_title.entry-title, div.woocommerce .summary.entry-summary h2.product_title.entry-title {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    border-bottom: 0.125rem solid #2272B4;
    font-size: 1.875rem !important;
    margin-bottom: 0.625rem;
    padding-bottom: 0.625rem; }
  body.woocommerce .summary.entry-summary .woocommerce-product-details__short-description, body.woocommerce-page .summary.entry-summary .woocommerce-product-details__short-description, div.woocommerce .summary.entry-summary .woocommerce-product-details__short-description {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  body.woocommerce .summary.entry-summary p.price, body.woocommerce-page .summary.entry-summary p.price, div.woocommerce .summary.entry-summary p.price {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
    body.woocommerce .summary.entry-summary p.price strong, body.woocommerce-page .summary.entry-summary p.price strong, div.woocommerce .summary.entry-summary p.price strong {
      color: #000000;
      display: block;
      font-size: 1rem;
      line-height: 1; }
  body.woocommerce .summary.entry-summary form.cart, body.woocommerce-page .summary.entry-summary form.cart, div.woocommerce .summary.entry-summary form.cart {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
    body.woocommerce .summary.entry-summary form.cart .quantity, body.woocommerce-page .summary.entry-summary form.cart .quantity, div.woocommerce .summary.entry-summary form.cart .quantity {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
      body.woocommerce .summary.entry-summary form.cart .quantity input.input-text, body.woocommerce-page .summary.entry-summary form.cart .quantity input.input-text, div.woocommerce .summary.entry-summary form.cart .quantity input.input-text {
        margin-bottom: 0; }
    body.woocommerce .summary.entry-summary form.cart button, body.woocommerce-page .summary.entry-summary form.cart button, div.woocommerce .summary.entry-summary form.cart button {
      max-height: 2.75rem;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
  body.woocommerce .summary.entry-summary .product_meta, body.woocommerce-page .summary.entry-summary .product_meta, div.woocommerce .summary.entry-summary .product_meta {
    border-bottom: 0.125rem solid #2272B4;
    border-top: 0.125rem solid #2272B4;
    margin: 0 0 0.9375rem;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    padding: 0.625rem 0 0.625rem; }

body.woocommerce nav.woocommerce-pagination ul.page-numbers, body.woocommerce-page nav.woocommerce-pagination ul.page-numbers, div.woocommerce nav.woocommerce-pagination ul.page-numbers {
  border: 0 !important;
  border-top: 0.125rem solid #2272B4 !important;
  background: none;
  border-radius: 0;
  margin-top: 1.25rem;
  overflow: hidden;
  padding: 0.9375rem 0 0;
  text-align: center;
  width: 100%; }
  body.woocommerce nav.woocommerce-pagination ul.page-numbers li, body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li, div.woocommerce nav.woocommerce-pagination ul.page-numbers li {
    border: 0 !important;
    display: inline-block;
    float: none;
    width: 1.875rem; }
    body.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current, body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span.current, div.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current {
      background: #b01f23;
      border-radius: 0;
      color: #FFFFFF !important;
      font-weight: 700;
      overflow: hidden; }
    body.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers, body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers, div.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers {
      background: #FFFFFF;
      border-radius: 0;
      font-weight: 700;
      overflow: hidden; }
      body.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover, body.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus, body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover, body.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus, div.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover, div.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus {
        background: #2272B4;
        color: #FFFFFF !important; }

body.woocommerce .input-number-group, body.woocommerce-page .input-number-group, div.woocommerce .input-number-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 0;
  max-width: 12.5rem; }
  body.woocommerce .input-number-group input[type=number]::-webkit-inner-spin-button,
  body.woocommerce .input-number-group input[type=number]::-webkit-outer-spin-button, body.woocommerce-page .input-number-group input[type=number]::-webkit-inner-spin-button,
  body.woocommerce-page .input-number-group input[type=number]::-webkit-outer-spin-button, div.woocommerce .input-number-group input[type=number]::-webkit-inner-spin-button,
  div.woocommerce .input-number-group input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
            appearance: none; }
  body.woocommerce .input-number-group input[type=number], body.woocommerce-page .input-number-group input[type=number], div.woocommerce .input-number-group input[type=number] {
    -moz-appearance: textfield; }
  body.woocommerce .input-number-group .input-group-button, body.woocommerce-page .input-number-group .input-group-button, div.woocommerce .input-number-group .input-group-button {
    line-height: calc(80px/2); }
  body.woocommerce .input-number-group .input-number, body.woocommerce-page .input-number-group .input-number, div.woocommerce .input-number-group .input-number {
    border-radius: 0 !important;
    display: block;
    margin: 0;
    max-width: 3.125rem;
    outline: none;
    padding: 0;
    text-align: center;
    vertical-align: top;
    width: 100%; }
  body.woocommerce .input-number-group .input-number,
  body.woocommerce .input-number-group .input-number-decrement,
  body.woocommerce .input-number-group .input-number-increment, body.woocommerce-page .input-number-group .input-number,
  body.woocommerce-page .input-number-group .input-number-decrement,
  body.woocommerce-page .input-number-group .input-number-increment, div.woocommerce .input-number-group .input-number,
  div.woocommerce .input-number-group .input-number-decrement,
  div.woocommerce .input-number-group .input-number-increment {
    border: 0.0625rem solid #2272B4;
    height: 40px;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    border-radius: 0; }
  body.woocommerce .input-number-group .input-number-decrement,
  body.woocommerce .input-number-group .input-number-increment, body.woocommerce-page .input-number-group .input-number-decrement,
  body.woocommerce-page .input-number-group .input-number-increment, div.woocommerce .input-number-group .input-number-decrement,
  div.woocommerce .input-number-group .input-number-increment {
    background: #2272B4;
    color: #FFFFFF !important;
    cursor: pointer;
    display: inline-block;
    font-family: Arial !important;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    width: 2.1875rem;
    transition: all 0.2s ease-out 0s; }
    body.woocommerce .input-number-group .input-number-decrement:hover, body.woocommerce .input-number-group .input-number-decrement:focus,
    body.woocommerce .input-number-group .input-number-increment:hover,
    body.woocommerce .input-number-group .input-number-increment:focus, body.woocommerce-page .input-number-group .input-number-decrement:hover, body.woocommerce-page .input-number-group .input-number-decrement:focus,
    body.woocommerce-page .input-number-group .input-number-increment:hover,
    body.woocommerce-page .input-number-group .input-number-increment:focus, div.woocommerce .input-number-group .input-number-decrement:hover, div.woocommerce .input-number-group .input-number-decrement:focus,
    div.woocommerce .input-number-group .input-number-increment:hover,
    div.woocommerce .input-number-group .input-number-increment:focus {
      background: #000000; }
  body.woocommerce .input-number-group .input-number-decrement, body.woocommerce-page .input-number-group .input-number-decrement, div.woocommerce .input-number-group .input-number-decrement {
    border-radius: 0.1875rem 0 0 0.1875rem; }
  body.woocommerce .input-number-group .input-number-increment, body.woocommerce-page .input-number-group .input-number-increment, div.woocommerce .input-number-group .input-number-increment {
    border-radius: 0 0.1875rem 0.1875rem 0; }

body.woocommerce form.woocommerce-cart-form table, body.woocommerce-page form.woocommerce-cart-form table, div.woocommerce form.woocommerce-cart-form table {
  border-color: #2272B4 !important;
  border-radius: 0 !important;
  overflow: hidden; }
  body.woocommerce form.woocommerce-cart-form table thead, body.woocommerce-page form.woocommerce-cart-form table thead, div.woocommerce form.woocommerce-cart-form table thead {
    border: 0 !important;
    background: #2272B4;
    color: #FFFFFF; }
    body.woocommerce form.woocommerce-cart-form table thead tr th.product-name, body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-name, div.woocommerce form.woocommerce-cart-form table thead tr th.product-name {
      width: 50%; }
    body.woocommerce form.woocommerce-cart-form table thead tr th.product-price,
    body.woocommerce form.woocommerce-cart-form table thead tr th.product-quantity,
    body.woocommerce form.woocommerce-cart-form table thead tr th.product-subtotal, body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-price,
    body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-quantity,
    body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-subtotal, div.woocommerce form.woocommerce-cart-form table thead tr th.product-price,
    div.woocommerce form.woocommerce-cart-form table thead tr th.product-quantity,
    div.woocommerce form.woocommerce-cart-form table thead tr th.product-subtotal {
      text-align: center; }
    body.woocommerce form.woocommerce-cart-form table thead tr th.product-remove, body.woocommerce-page form.woocommerce-cart-form table thead tr th.product-remove, div.woocommerce form.woocommerce-cart-form table thead tr th.product-remove {
      padding-left: 0;
      padding-right: 0;
      width: 2rem; }
  body.woocommerce form.woocommerce-cart-form table tbody tr td, body.woocommerce-page form.woocommerce-cart-form table tbody tr td, div.woocommerce form.woocommerce-cart-form table tbody tr td {
    border-color: #2272B4 !important; }
  body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name {
    width: 50%; }
    body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail {
      display: inline-block;
      height: auto;
      width: 4.6875rem !important; }
      body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail a, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail a, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail a {
        display: block;
        margin-right: 0.3125rem !important; }
      body.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail img, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail img, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-name span.product-thumbnail img {
        height: auto;
        width: 100% !important; }
  body.woocommerce form.woocommerce-cart-form table tbody tr td.product-price, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-price, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-price {
    text-align: center; }
  body.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-quantity, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity {
    text-align: center; }
    body.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-quantity .quantity .input-number-group {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
  body.woocommerce form.woocommerce-cart-form table tbody tr td.product-subtotal, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-subtotal, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-subtotal {
    text-align: center; }
  body.woocommerce form.woocommerce-cart-form table tbody tr td.product-remove, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-remove, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-remove {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    width: 2.625rem; }
    body.woocommerce form.woocommerce-cart-form table tbody tr td.product-remove a.remove, body.woocommerce-page form.woocommerce-cart-form table tbody tr td.product-remove a.remove, div.woocommerce form.woocommerce-cart-form table tbody tr td.product-remove a.remove {
      display: inline-block;
      margin-right: 0;
      margin-top: 0.25rem;
      text-decoration: none !important; }
  body.woocommerce form.woocommerce-cart-form table tbody tr:last-of-type, body.woocommerce-page form.woocommerce-cart-form table tbody tr:last-of-type, div.woocommerce form.woocommerce-cart-form table tbody tr:last-of-type {
    background: #2272B4; }
  body.woocommerce form.woocommerce-cart-form table tbody input.input-text.qty.text, body.woocommerce-page form.woocommerce-cart-form table tbody input.input-text.qty.text, div.woocommerce form.woocommerce-cart-form table tbody input.input-text.qty.text {
    border: 0.0625rem solid #2272B4;
    box-shadow: none; }
  body.woocommerce form.woocommerce-cart-form table tbody .quantity, body.woocommerce-page form.woocommerce-cart-form table tbody .quantity, div.woocommerce form.woocommerce-cart-form table tbody .quantity {
    max-width: 12.5rem; }
  body.woocommerce form.woocommerce-cart-form table tbody .coupon .button, body.woocommerce-page form.woocommerce-cart-form table tbody .coupon .button, div.woocommerce form.woocommerce-cart-form table tbody .coupon .button {
    background: #FFFFFF !important;
    color: #2272B4 !important;
    line-height: 2.5rem;
    max-height: 2.5rem;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0.875rem;
    padding-right: 0.875rem; }
    body.woocommerce form.woocommerce-cart-form table tbody .coupon .button:hover, body.woocommerce form.woocommerce-cart-form table tbody .coupon .button:focus, body.woocommerce-page form.woocommerce-cart-form table tbody .coupon .button:hover, body.woocommerce-page form.woocommerce-cart-form table tbody .coupon .button:focus, div.woocommerce form.woocommerce-cart-form table tbody .coupon .button:hover, div.woocommerce form.woocommerce-cart-form table tbody .coupon .button:focus {
      background: #000000 !important;
      color: #FFFFFF !important; }
  body.woocommerce form.woocommerce-cart-form table tbody .coupon input#coupon_code, body.woocommerce-page form.woocommerce-cart-form table tbody .coupon input#coupon_code, div.woocommerce form.woocommerce-cart-form table tbody .coupon input#coupon_code {
    border: 0.0625rem solid #2272B4;
    border-radius: 0.375rem;
    box-shadow: none;
    min-height: 2.5rem;
    min-width: 7.5rem; }
  body.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"], body.woocommerce-page form.woocommerce-cart-form table tbody .button[name="update_cart"], div.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"] {
    background: #FFFFFF !important;
    color: #2272B4 !important;
    min-height: 2.5rem; }
    body.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"]:hover, body.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"]:focus, body.woocommerce-page form.woocommerce-cart-form table tbody .button[name="update_cart"]:hover, body.woocommerce-page form.woocommerce-cart-form table tbody .button[name="update_cart"]:focus, div.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"]:hover, div.woocommerce form.woocommerce-cart-form table tbody .button[name="update_cart"]:focus {
      background: #000000 !important;
      color: #FFFFFF !important; }

body.woocommerce .wc-proceed-to-checkout, body.woocommerce-page .wc-proceed-to-checkout, div.woocommerce .wc-proceed-to-checkout {
  padding: 0; }

body.woocommerce .cart-collaterals, body.woocommerce-page .cart-collaterals, div.woocommerce .cart-collaterals {
  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.875rem;
  width: calc(100% + 1.875rem); }
  body.woocommerce .cart-collaterals div.coupon, body.woocommerce-page .cart-collaterals div.coupon, div.woocommerce .cart-collaterals div.coupon {
    padding-left: 1.875rem;
    width: 50%; }
    @media only screen and (max-width: 56.25em) {
      body.woocommerce .cart-collaterals div.coupon, body.woocommerce-page .cart-collaterals div.coupon, div.woocommerce .cart-collaterals div.coupon {
        margin-bottom: 1.5rem;
        width: 100%; } }
    body.woocommerce .cart-collaterals div.coupon label, body.woocommerce-page .cart-collaterals div.coupon label, div.woocommerce .cart-collaterals div.coupon label {
      color: #2272B4;
      font-family: "rubik", Arial, Helvetica, sans-serif;
      font-size: 1.5rem !important;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 0.25rem; }
    body.woocommerce .cart-collaterals div.coupon input, body.woocommerce-page .cart-collaterals div.coupon input, div.woocommerce .cart-collaterals div.coupon input {
      border-color: #2272B4 !important;
      border-radius: 0.1875rem !important;
      min-height: 2.8125rem;
      margin-bottom: 0.625rem; }
    body.woocommerce .cart-collaterals div.coupon .button, body.woocommerce-page .cart-collaterals div.coupon .button, div.woocommerce .cart-collaterals div.coupon .button {
      width: 100%; }
  body.woocommerce .cart-collaterals div.cart_totals, body.woocommerce-page .cart-collaterals div.cart_totals, div.woocommerce .cart-collaterals div.cart_totals {
    padding-left: 1.875rem;
    width: 50%; }
    @media only screen and (max-width: 56.25em) {
      body.woocommerce .cart-collaterals div.cart_totals, body.woocommerce-page .cart-collaterals div.cart_totals, div.woocommerce .cart-collaterals div.cart_totals {
        width: 100%; } }
    body.woocommerce .cart-collaterals div.cart_totals h2, body.woocommerce-page .cart-collaterals div.cart_totals h2, div.woocommerce .cart-collaterals div.cart_totals h2 {
      font-size: 1.5rem !important;
      margin-bottom: 0.25rem; }
    body.woocommerce .cart-collaterals div.cart_totals table, body.woocommerce-page .cart-collaterals div.cart_totals table, div.woocommerce .cart-collaterals div.cart_totals table {
      border-color: #2272B4;
      border-radius: 0;
      margin-bottom: 0.625rem;
      overflow: hidden; }
      body.woocommerce .cart-collaterals div.cart_totals table tr.order-total, body.woocommerce-page .cart-collaterals div.cart_totals table tr.order-total, div.woocommerce .cart-collaterals div.cart_totals table tr.order-total {
        background: #2272B4;
        color: #FFFFFF; }
        body.woocommerce .cart-collaterals div.cart_totals table tr.order-total td span, body.woocommerce-page .cart-collaterals div.cart_totals table tr.order-total td span, div.woocommerce .cart-collaterals div.cart_totals table tr.order-total td span {
          color: #FFFFFF !important; }
    body.woocommerce .cart-collaterals div.cart_totals button.button[name="update_cart"], body.woocommerce-page .cart-collaterals div.cart_totals button.button[name="update_cart"], div.woocommerce .cart-collaterals div.cart_totals button.button[name="update_cart"] {
      margin-bottom: 0.9375rem;
      width: 100%; }
    body.woocommerce .cart-collaterals div.cart_totals button.button:disabled, body.woocommerce .cart-collaterals div.cart_totals button.button:disabled[disabled], body.woocommerce-page .cart-collaterals div.cart_totals button.button:disabled, body.woocommerce-page .cart-collaterals div.cart_totals button.button:disabled[disabled], div.woocommerce .cart-collaterals div.cart_totals button.button:disabled, div.woocommerce .cart-collaterals div.cart_totals button.button:disabled[disabled] {
      padding: 0.9375rem 2.5rem !important;
      width: 100%; }

body.woocommerce form.woocommerce-form-coupon,
body.woocommerce div.woocommerce-form-coupon, body.woocommerce-page form.woocommerce-form-coupon,
body.woocommerce-page div.woocommerce-form-coupon, div.woocommerce form.woocommerce-form-coupon,
div.woocommerce div.woocommerce-form-coupon {
  background: #D5CDB7 !important;
  border: 0.0625rem solid #2272B4 !important;
  border-radius: 0 !important;
  margin: 0 0 1.5rem !important;
  padding: 0.9375rem !important; }
  body.woocommerce form.woocommerce-form-coupon > p,
  body.woocommerce div.woocommerce-form-coupon > p, body.woocommerce-page form.woocommerce-form-coupon > p,
  body.woocommerce-page div.woocommerce-form-coupon > p, div.woocommerce form.woocommerce-form-coupon > p,
  div.woocommerce div.woocommerce-form-coupon > p {
    color: #000000 !important;
    font-weight: 700; }
  body.woocommerce form.woocommerce-form-coupon .woocommerce-form-coupon-toggle,
  body.woocommerce div.woocommerce-form-coupon .woocommerce-form-coupon-toggle, body.woocommerce-page form.woocommerce-form-coupon .woocommerce-form-coupon-toggle,
  body.woocommerce-page div.woocommerce-form-coupon .woocommerce-form-coupon-toggle, div.woocommerce form.woocommerce-form-coupon .woocommerce-form-coupon-toggle,
  div.woocommerce div.woocommerce-form-coupon .woocommerce-form-coupon-toggle {
    display: none; }
  body.woocommerce form.woocommerce-form-coupon .form-row,
  body.woocommerce div.woocommerce-form-coupon .form-row, body.woocommerce-page form.woocommerce-form-coupon .form-row,
  body.woocommerce-page div.woocommerce-form-coupon .form-row, div.woocommerce form.woocommerce-form-coupon .form-row,
  div.woocommerce div.woocommerce-form-coupon .form-row {
    margin-bottom: 0;
    padding: 0; }
    body.woocommerce form.woocommerce-form-coupon .form-row.form-row-first,
    body.woocommerce div.woocommerce-form-coupon .form-row.form-row-first, body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-first,
    body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-first, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-first,
    div.woocommerce div.woocommerce-form-coupon .form-row.form-row-first {
      width: calc(100% - 200px) !important; }
      @media only screen and (max-width: 30em) {
        body.woocommerce form.woocommerce-form-coupon .form-row.form-row-first,
        body.woocommerce div.woocommerce-form-coupon .form-row.form-row-first, body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-first,
        body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-first, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-first,
        div.woocommerce div.woocommerce-form-coupon .form-row.form-row-first {
          margin-bottom: 0.625rem;
          width: 100% !important; } }
    body.woocommerce form.woocommerce-form-coupon .form-row.form-row-last,
    body.woocommerce div.woocommerce-form-coupon .form-row.form-row-last, body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-last,
    body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-last, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-last,
    div.woocommerce div.woocommerce-form-coupon .form-row.form-row-last {
      text-align: right;
      width: 12.5rem !important; }
      @media only screen and (max-width: 30em) {
        body.woocommerce form.woocommerce-form-coupon .form-row.form-row-last,
        body.woocommerce div.woocommerce-form-coupon .form-row.form-row-last, body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-last,
        body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-last, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-last,
        div.woocommerce div.woocommerce-form-coupon .form-row.form-row-last {
          text-align: left;
          width: 100% !important; }
          body.woocommerce form.woocommerce-form-coupon .form-row.form-row-last button,
          body.woocommerce div.woocommerce-form-coupon .form-row.form-row-last button, body.woocommerce-page form.woocommerce-form-coupon .form-row.form-row-last button,
          body.woocommerce-page div.woocommerce-form-coupon .form-row.form-row-last button, div.woocommerce form.woocommerce-form-coupon .form-row.form-row-last button,
          div.woocommerce div.woocommerce-form-coupon .form-row.form-row-last button {
            max-width: 100% !important;
            width: 100% !important; } }
  body.woocommerce form.woocommerce-form-coupon input[type="text"],
  body.woocommerce div.woocommerce-form-coupon input[type="text"], body.woocommerce-page form.woocommerce-form-coupon input[type="text"],
  body.woocommerce-page div.woocommerce-form-coupon input[type="text"], div.woocommerce form.woocommerce-form-coupon input[type="text"],
  div.woocommerce div.woocommerce-form-coupon input[type="text"] {
    border-color: #2272B4 !important;
    border-radius: 0.1875rem !important;
    box-shadow: none !important;
    min-height: 2.75rem; }

body.woocommerce .billing-shipping-tabs, body.woocommerce-page .billing-shipping-tabs, div.woocommerce .billing-shipping-tabs {
  border-color: #2272B4; }

body.woocommerce .billing-shipping-wrapper, body.woocommerce-page .billing-shipping-wrapper, div.woocommerce .billing-shipping-wrapper {
  border-color: #2272B4;
  max-height: 100%;
  margin-bottom: 1.5rem;
  transition: max-height 0.2s ease-out 0s; }
  body.woocommerce .billing-shipping-wrapper .shipping-details, body.woocommerce .billing-shipping-wrapper .billing-details, body.woocommerce-page .billing-shipping-wrapper .shipping-details, body.woocommerce-page .billing-shipping-wrapper .billing-details, div.woocommerce .billing-shipping-wrapper .shipping-details, div.woocommerce .billing-shipping-wrapper .billing-details {
    padding: 0.9375rem; }

body.woocommerce span.select2-container .select2-dropdown, body.woocommerce-page span.select2-container .select2-dropdown, div.woocommerce span.select2-container .select2-dropdown {
  margin-top: -0.0625rem; }
  body.woocommerce span.select2-container .select2-dropdown input.select2-search__field, body.woocommerce-page span.select2-container .select2-dropdown input.select2-search__field, div.woocommerce span.select2-container .select2-dropdown input.select2-search__field {
    border-color: #2272B4;
    border-radius: 0.1875rem;
    box-shadow: 0;
    display: none; }

body.woocommerce.woocommerce-checkout form.checkout_coupon, body.woocommerce-page.woocommerce-checkout form.checkout_coupon, div.woocommerce.woocommerce-checkout form.checkout_coupon {
  display: block !important; }

body.woocommerce.woocommerce-checkout span.select2-container .select2-dropdown, body.woocommerce-page.woocommerce-checkout span.select2-container .select2-dropdown, div.woocommerce.woocommerce-checkout span.select2-container .select2-dropdown {
  margin-top: -0.8125rem; }

body.woocommerce form.woocommerce-checkout, body.woocommerce-page form.woocommerce-checkout, div.woocommerce form.woocommerce-checkout {
  position: relative !important; }
  body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields input.input-text, body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields textarea, body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection, body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields select,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields input.input-text,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields textarea,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields select,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields textarea,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields select,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields input.input-text,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields textarea,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields select, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields input.input-text, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields textarea, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .select2-selection, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields select,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields input.input-text,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields textarea,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .select2-selection,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields select,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields textarea,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields select,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields input.input-text,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields textarea,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .select2-selection,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields select, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields input.input-text, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields textarea, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields select,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields input.input-text,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields textarea,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields select,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields textarea,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields select,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields input.input-text,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields textarea,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields select {
    border-color: #2272B4 !important;
    border-radius: 0.1875rem !important;
    min-height: 2.75rem;
    margin-bottom: 0.625rem; }
  body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields label,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields label,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields label,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields label, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields label,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields label,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields label,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields label, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields label,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields label,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields label,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields label {
    color: #333333;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5; }
  body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row {
    padding: 0; }
    body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-first, body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-last,
    body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-first,
    body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-last,
    body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-first,
    body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-last,
    body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-first,
    body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-last, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-first, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-last,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-first,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-last,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-first,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-last,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-first,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-last, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-first, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-last,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-first,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-last,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-first,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-last,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-first,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-last {
      width: 49.25% !important; }
    body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type, body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes,
    body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type,
    body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes,
    body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type,
    body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes,
    body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type,
    body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.notes,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type,
    body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type,
    div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type,
    div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type,
    div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes {
      margin-bottom: 0; }
      body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type input, body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type textarea, body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes input, body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes textarea,
      body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type input,
      body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type textarea,
      body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes input,
      body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes textarea,
      body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type input,
      body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type textarea,
      body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes input,
      body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes textarea,
      body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type input,
      body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type textarea,
      body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes input,
      body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes textarea, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type input, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type textarea, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes input, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes textarea,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type input,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type textarea,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.notes input,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .form-row.notes textarea,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type input,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type textarea,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes input,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes textarea,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type input,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type textarea,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes input,
      body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes textarea, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type input, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.form-row-wide:last-of-type textarea, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes input, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .form-row.notes textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type input,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.form-row-wide:last-of-type textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes input,
      div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .form-row.notes textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type input,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.form-row-wide:last-of-type textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes input,
      div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .form-row.notes textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type input,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.form-row-wide:last-of-type textarea,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes input,
      div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .form-row.notes textarea {
        margin-bottom: 0; }
  body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-container,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-container,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-container,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-container, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .select2-container,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .select2-container,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .select2-container,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .select2-container, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-container,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-container,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-container,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-container {
    min-height: 2.5rem; }
  body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__rendered,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__rendered,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__rendered,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__rendered, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__rendered,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__rendered,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__rendered,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__rendered, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__rendered,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__rendered,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__rendered,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__rendered {
    line-height: 2.375rem; }
  body.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__arrow,
  body.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__arrow,
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__arrow,
  body.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__arrow, body.woocommerce-page form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__arrow,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__arrow,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__arrow,
  body.woocommerce-page form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__arrow, div.woocommerce form.woocommerce-checkout .woocommerce-billing-fields .select2-selection span.select2-selection__arrow,
  div.woocommerce form.woocommerce-checkout .woocommerce-account-fields .select2-selection span.select2-selection__arrow,
  div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .select2-selection span.select2-selection__arrow,
  div.woocommerce form.woocommerce-checkout .woocommerce-additional-fields .select2-selection span.select2-selection__arrow {
    min-height: 2.375rem; }
  body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address, body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address {
    width: 100%; }
    body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label, body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      width: 100%; }
      body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label input, body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label input, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label input {
        margin: 0 0.125rem 0 0.625rem;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      body.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label span, body.woocommerce-page form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label span, div.woocommerce form.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label span {
        color: #2272B4;
        font-family: "rubik", Arial, Helvetica, sans-serif;
        font-weight: 700;
        line-height: 1.625rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
  body.woocommerce form.woocommerce-checkout #customer_details .col-1, body.woocommerce form.woocommerce-checkout #customer_details .col-2, body.woocommerce-page form.woocommerce-checkout #customer_details .col-1, body.woocommerce-page form.woocommerce-checkout #customer_details .col-2, div.woocommerce form.woocommerce-checkout #customer_details .col-1, div.woocommerce form.woocommerce-checkout #customer_details .col-2 {
    margin-bottom: 2.5rem; }

body.woocommerce p.tabs-title.checkout-cont-btn, body.woocommerce-page p.tabs-title.checkout-cont-btn, div.woocommerce p.tabs-title.checkout-cont-btn {
  float: right;
  margin: 1.875rem -1rem 0 0;
  text-align: right; }

body.woocommerce h3#order_review_heading, body.woocommerce-page h3#order_review_heading, div.woocommerce h3#order_review_heading {
  margin-bottom: 0.25rem; }

body.woocommerce table.shop_table, body.woocommerce table.shop_attributes, body.woocommerce-page table.shop_table, body.woocommerce-page table.shop_attributes, div.woocommerce table.shop_table, div.woocommerce table.shop_attributes {
  border: 0.0625rem solid #2272B4 !important;
  border-radius: 0;
  border-spacing: 0;
  font-family: "rubik", Arial, Helvetica, sans-serif;
  overflow: hidden;
  padding: 0; }
  body.woocommerce table.shop_table thead, body.woocommerce table.shop_attributes thead, body.woocommerce-page table.shop_table thead, body.woocommerce-page table.shop_attributes thead, div.woocommerce table.shop_table thead, div.woocommerce table.shop_attributes thead {
    background: #2272B4;
    color: #FFFFFF; }
    body.woocommerce table.shop_table thead th.product-name, body.woocommerce table.shop_attributes thead th.product-name, body.woocommerce-page table.shop_table thead th.product-name, body.woocommerce-page table.shop_attributes thead th.product-name, div.woocommerce table.shop_table thead th.product-name, div.woocommerce table.shop_attributes thead th.product-name {
      width: 40%; }
    body.woocommerce table.shop_table thead th.product-total, body.woocommerce table.shop_attributes thead th.product-total, body.woocommerce-page table.shop_table thead th.product-total, body.woocommerce-page table.shop_attributes thead th.product-total, div.woocommerce table.shop_table thead th.product-total, div.woocommerce table.shop_attributes thead th.product-total {
      width: 60%; }
  body.woocommerce table.shop_table tbody, body.woocommerce table.shop_attributes tbody, body.woocommerce-page table.shop_table tbody, body.woocommerce-page table.shop_attributes tbody, div.woocommerce table.shop_table tbody, div.woocommerce table.shop_attributes tbody {
    border: 0.0625rem solid #2272B4 !important; }
    body.woocommerce table.shop_table tbody th, body.woocommerce table.shop_attributes tbody th, body.woocommerce-page table.shop_table tbody th, body.woocommerce-page table.shop_attributes tbody th, div.woocommerce table.shop_table tbody th, div.woocommerce table.shop_attributes tbody th {
      text-align: left;
      text-transform: capitalize; }
    body.woocommerce table.shop_table tbody td, body.woocommerce table.shop_table tbody th, body.woocommerce table.shop_attributes tbody td, body.woocommerce table.shop_attributes tbody th, body.woocommerce-page table.shop_table tbody td, body.woocommerce-page table.shop_table tbody th, body.woocommerce-page table.shop_attributes tbody td, body.woocommerce-page table.shop_attributes tbody th, div.woocommerce table.shop_table tbody td, div.woocommerce table.shop_table tbody th, div.woocommerce table.shop_attributes tbody td, div.woocommerce table.shop_attributes tbody th {
      border-top-color: #2272B4 !important; }
    body.woocommerce table.shop_table tbody td.product-name span.product-title, body.woocommerce table.shop_attributes tbody td.product-name span.product-title, body.woocommerce-page table.shop_table tbody td.product-name span.product-title, body.woocommerce-page table.shop_attributes tbody td.product-name span.product-title, div.woocommerce table.shop_table tbody td.product-name span.product-title, div.woocommerce table.shop_attributes tbody td.product-name span.product-title {
      font-weight: 700; }
    body.woocommerce table.shop_table tbody tr.cart-item td.product-total span.amount,
    body.woocommerce table.shop_table tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, body.woocommerce table.shop_attributes tbody tr.cart-item td.product-total span.amount,
    body.woocommerce table.shop_attributes tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, body.woocommerce-page table.shop_table tbody tr.cart-item td.product-total span.amount,
    body.woocommerce-page table.shop_table tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, body.woocommerce-page table.shop_attributes tbody tr.cart-item td.product-total span.amount,
    body.woocommerce-page table.shop_attributes tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tbody tr.cart-item td.product-total span.amount,
    div.woocommerce table.shop_table tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tbody tr.cart-item td.product-total span.amount,
    div.woocommerce table.shop_attributes tbody tr.cart-item td.product-total span.amount span.woocommerce-Price-currencySymbol {
      color: #000000 !important; }
  body.woocommerce table.shop_table tfoot, body.woocommerce table.shop_attributes tfoot, body.woocommerce-page table.shop_table tfoot, body.woocommerce-page table.shop_attributes tfoot, div.woocommerce table.shop_table tfoot, div.woocommerce table.shop_attributes tfoot {
    border-color: #2272B4 !important; }
    body.woocommerce table.shop_table tfoot th, body.woocommerce table.shop_table tfoot td, body.woocommerce table.shop_attributes tfoot th, body.woocommerce table.shop_attributes tfoot td, body.woocommerce-page table.shop_table tfoot th, body.woocommerce-page table.shop_table tfoot td, body.woocommerce-page table.shop_attributes tfoot th, body.woocommerce-page table.shop_attributes tfoot td, div.woocommerce table.shop_table tfoot th, div.woocommerce table.shop_table tfoot td, div.woocommerce table.shop_attributes tfoot th, div.woocommerce table.shop_attributes tfoot td {
      border-color: #2272B4 !important; }
    body.woocommerce table.shop_table tfoot tr td span.amount,
    body.woocommerce table.shop_table tfoot tr td span.amount span.woocommerce-Price-currencySymbol, body.woocommerce table.shop_attributes tfoot tr td span.amount,
    body.woocommerce table.shop_attributes tfoot tr td span.amount span.woocommerce-Price-currencySymbol, body.woocommerce-page table.shop_table tfoot tr td span.amount,
    body.woocommerce-page table.shop_table tfoot tr td span.amount span.woocommerce-Price-currencySymbol, body.woocommerce-page table.shop_attributes tfoot tr td span.amount,
    body.woocommerce-page table.shop_attributes tfoot tr td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tfoot tr td span.amount,
    div.woocommerce table.shop_table tfoot tr td span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tfoot tr td span.amount,
    div.woocommerce table.shop_attributes tfoot tr td span.amount span.woocommerce-Price-currencySymbol {
      color: #000000 !important; }
    body.woocommerce table.shop_table tfoot tr.shipping td, body.woocommerce table.shop_attributes tfoot tr.shipping td, body.woocommerce-page table.shop_table tfoot tr.shipping td, body.woocommerce-page table.shop_attributes tfoot tr.shipping td, div.woocommerce table.shop_table tfoot tr.shipping td, div.woocommerce table.shop_attributes tfoot tr.shipping td {
      color: #000000; }
    body.woocommerce table.shop_table tfoot tr.tax-total, body.woocommerce table.shop_attributes tfoot tr.tax-total, body.woocommerce-page table.shop_table tfoot tr.tax-total, body.woocommerce-page table.shop_attributes tfoot tr.tax-total, div.woocommerce table.shop_table tfoot tr.tax-total, div.woocommerce table.shop_attributes tfoot tr.tax-total {
      background: #2272B4 !important; }
      body.woocommerce table.shop_table tfoot tr.tax-total th, body.woocommerce table.shop_table tfoot tr.tax-total td, body.woocommerce table.shop_attributes tfoot tr.tax-total th, body.woocommerce table.shop_attributes tfoot tr.tax-total td, body.woocommerce-page table.shop_table tfoot tr.tax-total th, body.woocommerce-page table.shop_table tfoot tr.tax-total td, body.woocommerce-page table.shop_attributes tfoot tr.tax-total th, body.woocommerce-page table.shop_attributes tfoot tr.tax-total td, div.woocommerce table.shop_table tfoot tr.tax-total th, div.woocommerce table.shop_table tfoot tr.tax-total td, div.woocommerce table.shop_attributes tfoot tr.tax-total th, div.woocommerce table.shop_attributes tfoot tr.tax-total td {
        border-color: #2272B4 !important; }
    body.woocommerce table.shop_table tfoot tr.order-total, body.woocommerce table.shop_attributes tfoot tr.order-total, body.woocommerce-page table.shop_table tfoot tr.order-total, body.woocommerce-page table.shop_attributes tfoot tr.order-total, div.woocommerce table.shop_table tfoot tr.order-total, div.woocommerce table.shop_attributes tfoot tr.order-total {
      background: #2272B4;
      color: #FFFFFF; }
      body.woocommerce table.shop_table tfoot tr.order-total td strong span.amount,
      body.woocommerce table.shop_table tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, body.woocommerce table.shop_attributes tfoot tr.order-total td strong span.amount,
      body.woocommerce table.shop_attributes tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, body.woocommerce-page table.shop_table tfoot tr.order-total td strong span.amount,
      body.woocommerce-page table.shop_table tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, body.woocommerce-page table.shop_attributes tfoot tr.order-total td strong span.amount,
      body.woocommerce-page table.shop_attributes tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tfoot tr.order-total td strong span.amount,
      div.woocommerce table.shop_table tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tfoot tr.order-total td strong span.amount,
      div.woocommerce table.shop_attributes tfoot tr.order-total td strong span.amount span.woocommerce-Price-currencySymbol {
        color: #FFFFFF !important; }
      body.woocommerce table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      body.woocommerce table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, body.woocommerce table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      body.woocommerce table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, body.woocommerce-page table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      body.woocommerce-page table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, body.woocommerce-page table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      body.woocommerce-page table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      div.woocommerce table.shop_table tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol, div.woocommerce table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount,
      div.woocommerce table.shop_attributes tfoot tr.order-total small.includes_tax span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol {
        color: #FFFFFF !important; }

body.woocommerce table.shop_table tr th, body.woocommerce table.shop_table tr td, body.woocommerce-page table.shop_table tr th, body.woocommerce-page table.shop_table tr td, div.woocommerce table.shop_table tr th, div.woocommerce table.shop_table tr td {
  padding: 0.5625rem 0.75rem; }

body.woocommerce table.shop_table tr.shipping p, body.woocommerce-page table.shop_table tr.shipping p, div.woocommerce table.shop_table tr.shipping p {
  margin-bottom: 0; }

body.woocommerce table.shop_table tr.shipping a.shipping-calculator-button, body.woocommerce-page table.shop_table tr.shipping a.shipping-calculator-button, div.woocommerce table.shop_table tr.shipping a.shipping-calculator-button {
  font-weight: 700; }

body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row, body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row {
  margin-bottom: 0.25rem;
  padding: 0; }
  body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2, body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 {
    display: block;
    margin-bottom: 0.25rem;
    min-height: 2.625rem; }
    body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection, body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection {
      border-color: #2272B4;
      min-height: 2.625rem; }
    body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__rendered,
    body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__arrow, body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__rendered,
    body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__arrow, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__rendered,
    div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .select2 .select2-selection__arrow {
      line-height: 2.625rem;
      min-height: 2.625rem; }
  body.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .input-text, body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form p.form-row .input-text, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form p.form-row .input-text {
    border-color: #2272B4;
    border-radius: 0.1875rem;
    box-shadow: 0; }

body.woocommerce table.shop_table tr.shipping .shipping-calculator-form button.button, body.woocommerce-page table.shop_table tr.shipping .shipping-calculator-form button.button, div.woocommerce table.shop_table tr.shipping .shipping-calculator-form button.button {
  margin-bottom: 0.3125rem; }

body.woocommerce div.woocommerce-checkout-payment, body.woocommerce #payment, body.woocommerce-page div.woocommerce-checkout-payment, body.woocommerce-page #payment, div.woocommerce div.woocommerce-checkout-payment, div.woocommerce #payment {
  background: #2272B4; }
  body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods,
  body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods, body.woocommerce #payment ul.wc_payment_methods,
  body.woocommerce #payment ul.woocommerce-PaymentMethods, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods,
  body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods, body.woocommerce-page #payment ul.wc_payment_methods,
  body.woocommerce-page #payment ul.woocommerce-PaymentMethods, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods,
  div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods, div.woocommerce #payment ul.wc_payment_methods,
  div.woocommerce #payment ul.woocommerce-PaymentMethods {
    background: #2272B4;
    border-radius: 0; }
    body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods > li > label,
    body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods > li > label, body.woocommerce #payment ul.wc_payment_methods > li > label,
    body.woocommerce #payment ul.woocommerce-PaymentMethods > li > label, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods > li > label,
    body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods > li > label, body.woocommerce-page #payment ul.wc_payment_methods > li > label,
    body.woocommerce-page #payment ul.woocommerce-PaymentMethods > li > label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods > li > label,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods > li > label, div.woocommerce #payment ul.wc_payment_methods > li > label,
    div.woocommerce #payment ul.woocommerce-PaymentMethods > li > label {
      font-size: 1.125rem;
      font-weight: 700;
      color: #FFFFFF; }
    body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, body.woocommerce #payment ul.wc_payment_methods li.wc_payment_method label,
    body.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method label, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, body.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method label,
    body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.wc_payment_method label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.wc_payment_method label,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.wc_payment_method label, div.woocommerce #payment ul.wc_payment_methods li.wc_payment_method label,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.wc_payment_method label {
      margin: 0;
      width: 100%; }
    body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_paypal a.about_paypal,
    body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_paypal a.about_paypal, body.woocommerce #payment ul.wc_payment_methods li.payment_method_paypal a.about_paypal,
    body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_paypal a.about_paypal, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_paypal a.about_paypal,
    body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_paypal a.about_paypal, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_paypal a.about_paypal,
    body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_paypal a.about_paypal, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_paypal a.about_paypal,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_paypal a.about_paypal, div.woocommerce #payment ul.wc_payment_methods li.payment_method_paypal a.about_paypal,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_paypal a.about_paypal {
      color: #FFFFFF;
      margin-left: 0.625rem; }
    body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label,
    body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label,
    body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label,
    body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe label,
    body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label {
      margin: 0;
      padding-left: 0; }
      body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
      body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
      body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
      body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe label img,
      body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
      div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
      div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img {
        float: none; }
        @media only screen and (max-width: 37.5em) {
          body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
          body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe label img,
          body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
          div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img {
            max-width: 1.5625rem; } }
        @media only screen and (max-width: 30em) {
          body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
          body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe label img,
          body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe label img,
          div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe label img,
          div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe label img {
            max-width: 1.25rem; } }
    body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe,
    div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe {
      background-color: #FFFFFF !important; }
      body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe:before,
      div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe:before {
        border: 1em solid #FFFFFF !important;
        border-right-color: transparent !important;
        border-left-color: transparent !important;
        border-top-color: transparent !important; }
      body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method,
      div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe input#wc-stripe-new-payment-method {
        margin: 0 0.3125rem 0 0 !important; }
      body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row,
      div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row {
        padding: 0; }
        body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label,
        div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row label {
          color: #2272B4;
          font-weight: 700 !important;
          line-height: 1; }
        body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        body.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        body.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        body.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        body.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        body.woocommerce-page div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        body.woocommerce-page div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        body.woocommerce-page #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        body.woocommerce-page #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        div.woocommerce div.woocommerce-checkout-payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        div.woocommerce div.woocommerce-checkout-payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element, div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        div.woocommerce #payment ul.wc_payment_methods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element,
        div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-card-element,
        div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-exp-element,
        div.woocommerce #payment ul.woocommerce-PaymentMethods li.payment_method_stripe div.payment_box.payment_method_stripe fieldset#wc-stripe-cc-form .form-row #stripe-cvc-element {
          border: 0.0625rem solid #2272B4 !important;
          border-radius: 0.375rem; }
  body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
    color: #FFFFFF !important; }
    body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a {
      color: #FFFFFF !important;
      position: relative;
      text-shadow: 0.125rem 0.0625rem 0 #2272B4;
      z-index: 10; }
      body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:after {
        background: #2272B4;
        bottom: 0.125rem;
        content: '';
        display: block;
        height: 0.125rem;
        left: 0;
        position: absolute;
        width: 100%;
        z-index: -1;
        transition: background 0.2s ease-out 0s; }
      body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p a:hover:after {
        background: #FFFFFF; }
  body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions {
    background: #FFFFFF;
    border: 0 !important;
    border-radius: 0.125rem;
    padding: 1rem !important; }
  body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text {
    color: #FFFFFF !important;
    font-size: 1rem !important; }
    body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a {
      color: #FFFFFF !important;
      position: relative;
      text-shadow: 0.125rem 0.0625rem 0 #2272B4;
      z-index: 10; }
      body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:after {
        background: #2272B4;
        bottom: 0.125rem;
        content: '';
        display: block;
        height: 0.125rem;
        left: 0;
        position: absolute;
        width: 100%;
        z-index: -1;
        transition: background 0.2s ease-out 0s; }
      body.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, body.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, body.woocommerce-page div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, body.woocommerce-page #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, div.woocommerce div.woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after, div.woocommerce #payment .woocommerce-terms-and-conditions-wrapper span.woocommerce-terms-and-conditions-checkbox-text a:hover:after {
        background: #FFFFFF; }
  body.woocommerce div.woocommerce-checkout-payment .form-row.place-order, body.woocommerce #payment .form-row.place-order, body.woocommerce-page div.woocommerce-checkout-payment .form-row.place-order, body.woocommerce-page #payment .form-row.place-order, div.woocommerce div.woocommerce-checkout-payment .form-row.place-order, div.woocommerce #payment .form-row.place-order {
    background: #2272B4;
    border-radius: 0 0 0.375rem 0.375rem;
    padding-bottom: 0; }
  body.woocommerce div.woocommerce-checkout-payment button#place_order, body.woocommerce #payment button#place_order, body.woocommerce-page div.woocommerce-checkout-payment button#place_order, body.woocommerce-page #payment button#place_order, div.woocommerce div.woocommerce-checkout-payment button#place_order, div.woocommerce #payment button#place_order {
    background: #FFFFFF !important;
    color: #2272B4 !important;
    margin-bottom: 0.9375rem; }
    body.woocommerce div.woocommerce-checkout-payment button#place_order:hover, body.woocommerce div.woocommerce-checkout-payment button#place_order:focus, body.woocommerce #payment button#place_order:hover, body.woocommerce #payment button#place_order:focus, body.woocommerce-page div.woocommerce-checkout-payment button#place_order:hover, body.woocommerce-page div.woocommerce-checkout-payment button#place_order:focus, body.woocommerce-page #payment button#place_order:hover, body.woocommerce-page #payment button#place_order:focus, div.woocommerce div.woocommerce-checkout-payment button#place_order:hover, div.woocommerce div.woocommerce-checkout-payment button#place_order:focus, div.woocommerce #payment button#place_order:hover, div.woocommerce #payment button#place_order:focus {
      background: #000000 !important;
      color: #FFFFFF !important; }
    @media only screen and (max-width: 48rem) {
      body.woocommerce div.woocommerce-checkout-payment button#place_order, body.woocommerce #payment button#place_order, body.woocommerce-page div.woocommerce-checkout-payment button#place_order, body.woocommerce-page #payment button#place_order, div.woocommerce div.woocommerce-checkout-payment button#place_order, div.woocommerce #payment button#place_order {
        float: right;
        width: auto; } }
    @media only screen and (max-width: 37.5em) {
      body.woocommerce div.woocommerce-checkout-payment button#place_order, body.woocommerce #payment button#place_order, body.woocommerce-page div.woocommerce-checkout-payment button#place_order, body.woocommerce-page #payment button#place_order, div.woocommerce div.woocommerce-checkout-payment button#place_order, div.woocommerce #payment button#place_order {
        float: none;
        width: 100%; } }
  body.woocommerce div.woocommerce-checkout-payment .return-to-shop, body.woocommerce #payment .return-to-shop, body.woocommerce-page div.woocommerce-checkout-payment .return-to-shop, body.woocommerce-page #payment .return-to-shop, div.woocommerce div.woocommerce-checkout-payment .return-to-shop, div.woocommerce #payment .return-to-shop {
    background: #FFFFFF !important;
    color: #2272B4 !important;
    margin-bottom: 0.9375rem; }
    body.woocommerce div.woocommerce-checkout-payment .return-to-shop:hover, body.woocommerce div.woocommerce-checkout-payment .return-to-shop:focus, body.woocommerce #payment .return-to-shop:hover, body.woocommerce #payment .return-to-shop:focus, body.woocommerce-page div.woocommerce-checkout-payment .return-to-shop:hover, body.woocommerce-page div.woocommerce-checkout-payment .return-to-shop:focus, body.woocommerce-page #payment .return-to-shop:hover, body.woocommerce-page #payment .return-to-shop:focus, div.woocommerce div.woocommerce-checkout-payment .return-to-shop:hover, div.woocommerce div.woocommerce-checkout-payment .return-to-shop:focus, div.woocommerce #payment .return-to-shop:hover, div.woocommerce #payment .return-to-shop:focus {
      background: #000000 !important;
      color: #FFFFFF !important; }
    @media only screen and (max-width: 37.5em) {
      body.woocommerce div.woocommerce-checkout-payment .return-to-shop, body.woocommerce #payment .return-to-shop, body.woocommerce-page div.woocommerce-checkout-payment .return-to-shop, body.woocommerce-page #payment .return-to-shop, div.woocommerce div.woocommerce-checkout-payment .return-to-shop, div.woocommerce #payment .return-to-shop {
        float: none;
        width: 100%; } }

body.woocommerce div#payment.woocommerce-Payment ul.woocommerce-PaymentMethods + div.form-row, body.woocommerce-page div#payment.woocommerce-Payment ul.woocommerce-PaymentMethods + div.form-row, div.woocommerce div#payment.woocommerce-Payment ul.woocommerce-PaymentMethods + div.form-row {
  background: #2272B4; }

body.woocommerce div#payment.woocommerce-Payment .about_paypal, body.woocommerce-page div#payment.woocommerce-Payment .about_paypal, div.woocommerce div#payment.woocommerce-Payment .about_paypal {
  margin-left: 0.625rem; }

body.woocommerce .woocommerce-info, body.woocommerce-page .woocommerce-info, div.woocommerce .woocommerce-info {
  border-top-color: #2272B4;
  height: auto;
  opacity: 1;
  padding-left: 2.5rem;
  padding-right: 2.8125rem;
  visibility: visible;
  transition: all 0.2s ease-out 0s; }
  body.woocommerce .woocommerce-info *, body.woocommerce-page .woocommerce-info *, div.woocommerce .woocommerce-info * {
    color: #2272B4; }
  body.woocommerce .woocommerce-info:before, body.woocommerce-page .woocommerce-info:before, div.woocommerce .woocommerce-info:before {
    color: #2272B4;
    left: 0.9375rem !important; }
  body.woocommerce .woocommerce-info .clear-notice, body.woocommerce-page .woocommerce-info .clear-notice, div.woocommerce .woocommerce-info .clear-notice {
    color: red;
    cursor: pointer;
    display: block;
    font-family: fontawesome;
    position: absolute;
    right: 0.625rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 50; }
  @media only screen and (max-width: 47.9375em) {
    body.woocommerce .woocommerce-info, body.woocommerce-page .woocommerce-info, div.woocommerce .woocommerce-info {
      line-height: 1.2;
      margin: 0 0 1.25rem;
      padding: 0.625rem 2.8125rem 0.625rem 0.625rem; }
      body.woocommerce .woocommerce-info:before, body.woocommerce-page .woocommerce-info:before, div.woocommerce .woocommerce-info:before {
        display: none; } }
  body.woocommerce .woocommerce-info.hide-notice, body.woocommerce-page .woocommerce-info.hide-notice, div.woocommerce .woocommerce-info.hide-notice {
    border: 0;
    height: 0;
    margin: 0;
    opacity: 0;
    padding: 0;
    visibility: hidden; }

body.woocommerce form.checkout_coupon.woocommerce-form-coupon.hide-notice, body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon.hide-notice, div.woocommerce form.checkout_coupon.woocommerce-form-coupon.hide-notice {
  display: none; }

body.woocommerce .woocommerce-error, body.woocommerce .woocommerce-info, body.woocommerce .woocommerce-message, body.woocommerce-page .woocommerce-error, body.woocommerce-page .woocommerce-info, body.woocommerce-page .woocommerce-message, div.woocommerce .woocommerce-error, div.woocommerce .woocommerce-info, div.woocommerce .woocommerce-message {
  background: #D5CDB7;
  font-weight: 700;
  padding: 0.9375rem 0.9375rem 0.9375rem 2.8125rem;
  position: relative; }
  body.woocommerce .woocommerce-error a.button, body.woocommerce .woocommerce-info a.button, body.woocommerce .woocommerce-message a.button, body.woocommerce-page .woocommerce-error a.button, body.woocommerce-page .woocommerce-info a.button, body.woocommerce-page .woocommerce-message a.button, div.woocommerce .woocommerce-error a.button, div.woocommerce .woocommerce-info a.button, div.woocommerce .woocommerce-message a.button {
    margin-left: 0.625rem; }
  body.woocommerce .woocommerce-error:before, body.woocommerce .woocommerce-info:before, body.woocommerce .woocommerce-message:before, body.woocommerce-page .woocommerce-error:before, body.woocommerce-page .woocommerce-info:before, body.woocommerce-page .woocommerce-message:before, div.woocommerce .woocommerce-error:before, div.woocommerce .woocommerce-info:before, div.woocommerce .woocommerce-message:before {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: #FFFFFF !important;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    left: 0 !important;
    padding: 0 0.625rem;
    position: absolute;
    top: 0; }

body.woocommerce .woocommerce-message, body.woocommerce-page .woocommerce-message, div.woocommerce .woocommerce-message {
  border-top-color: #44a044; }
  body.woocommerce .woocommerce-message a, body.woocommerce-page .woocommerce-message a, div.woocommerce .woocommerce-message a {
    color: #008000; }
  body.woocommerce .woocommerce-message:before, body.woocommerce-page .woocommerce-message:before, div.woocommerce .woocommerce-message:before {
    background: #44a044; }

body.woocommerce .woocommerce-error, body.woocommerce-page .woocommerce-error, div.woocommerce .woocommerce-error {
  border-top-color: #b01f23; }
  body.woocommerce .woocommerce-error a, body.woocommerce-page .woocommerce-error a, div.woocommerce .woocommerce-error a {
    color: #b01f23; }
  body.woocommerce .woocommerce-error:before, body.woocommerce-page .woocommerce-error:before, div.woocommerce .woocommerce-error:before {
    background: #b01f23; }

body.woocommerce .woocommerce-info, body.woocommerce-page .woocommerce-info, div.woocommerce .woocommerce-info {
  border-top-color: #5AB1E0; }
  body.woocommerce .woocommerce-info a, body.woocommerce-page .woocommerce-info a, div.woocommerce .woocommerce-info a {
    color: #5AB1E0; }
  body.woocommerce .woocommerce-info:before, body.woocommerce-page .woocommerce-info:before, div.woocommerce .woocommerce-info:before {
    background: #5AB1E0; }

.woocommerce-page.single-product h2.woocommerce-page-title {
  display: none; }

.woocommerce-page.single-product .product-top-wrapper .woocommerce-product-gallery {
  width: 50%; }
  @media only screen and (max-width: 75em) {
    .woocommerce-page.single-product .product-top-wrapper .woocommerce-product-gallery {
      width: calc(100% - 21.25rem); } }
  @media only screen and (max-width: 47.9375em) {
    .woocommerce-page.single-product .product-top-wrapper .woocommerce-product-gallery {
      width: 100%; } }
  .woocommerce-page.single-product .product-top-wrapper .woocommerce-product-gallery figure.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a {
    display: block; }
    .woocommerce-page.single-product .product-top-wrapper .woocommerce-product-gallery figure.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a img {
      height: auto;
      width: 100%; }
  .woocommerce-page.single-product .product-top-wrapper .woocommerce-product-gallery .gallery figure.gallery-item figcaption.wp-caption-text {
    display: none; }

.woocommerce-page.single-product .product-top-wrapper .summary.entry-summary {
  padding-left: 2.5rem;
  width: 50%; }
  @media only screen and (max-width: 75em) {
    .woocommerce-page.single-product .product-top-wrapper .summary.entry-summary {
      width: 21.25rem; } }
  @media only screen and (max-width: 47.9375em) {
    .woocommerce-page.single-product .product-top-wrapper .summary.entry-summary {
      padding-left: 0;
      width: 100%; } }

.woocommerce-form input.input-text {
  border: 0.0625rem solid #2272B4;
  border-radius: 0.375rem; }

.woocommerce-form label.woocommerce-form__label.woocommerce-form__label-for-checkbox.inline {
  display: block;
  margin-top: 0.625rem; }

div.woocommerce-order p.woocommerce-notice {
  color: #2272B4 !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important; }

div.woocommerce-order ul.woocommerce-order-overview {
  border: 0.0625rem solid #2272B4;
  border-radius: 0.375rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  div.woocommerce-order ul.woocommerce-order-overview li {
    border-right: 0.0625rem solid #2272B4;
    float: none;
    margin: 0;
    padding: 0.9375rem;
    text-align: center;
    width: 25%; }
    div.woocommerce-order ul.woocommerce-order-overview li strong {
      font-size: 1rem !important;
      line-height: 1.2 !important;
      margin-top: 0.3125rem; }
      @media only screen and (max-width: 30em) {
        div.woocommerce-order ul.woocommerce-order-overview li strong {
          font-size: 0.875rem !important; } }

div.woocommerce-order .woocommerce-order-details h2 {
  font-size: 1.75rem !important;
  margin-bottom: 0.3125rem; }

.select2-dropdown {
  border-color: #2272B4; }

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
  background: #2272B4; }

.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100%;
  float: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    list-style: none;
    margin: 0 0 2.5rem 0; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
      width: 33.3333%; }
      @media only screen and (max-width: 30em) {
        .woocommerce-account .woocommerce-MyAccount-navigation ul li {
          width: 50%; } }
      .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        color: #FFFFFF;
        background: #b01f23;
        border-radius: 2.1875rem;
        display: block;
        font-family: "rubik", Arial, Helvetica, sans-serif;
        font-size: 0.875rem;
        font-weight: 600;
        margin: 0 auto 0.25rem;
        max-width: calc(100% - .25rem);
        padding: 0.25rem;
        text-align: center;
        text-transform: uppercase;
        transition: background 0.2s ease-out 0s; }
        .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover, .woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus {
          background: #000000; }
        @media only screen and (max-width: 30em) {
          .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
            letter-spacing: -.03em; } }

.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-content form .form-row {
    padding: 0; }
  .woocommerce-account .woocommerce-MyAccount-content form input.input-text {
    border: 0.0625rem solid #2272B4;
    border-radius: 0.375rem; }
  .woocommerce-account .woocommerce-MyAccount-content form fieldset legend {
    color: #000000;
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
    padding: 1.25rem 0 0 0; }

@media only screen and (max-width: 47.9375em) {
  .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item {
    border-top: 0.3125rem solid #2272B4;
    padding: 0.9375rem;
    position: relative; }
    .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:first-child, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:first-child {
      border-top: 0; }
    .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n), .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) {
      background: #FFFFFF; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td {
        background: #FFFFFF; }
        .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td.product-price, .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td.product-subtotal, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td.product-price, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item:nth-child(2n) td.product-subtotal {
          background: #D5CDB7; }
    .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td {
      border: 0;
      text-align: center !important; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td .quantity, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td .quantity {
        display: block !important;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0 auto 0.3125rem;
        width: auto; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td:before, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td:before {
        content: attr(data-title) !important;
        display: block;
        text-align: center;
        width: 100%; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name {
        padding-top: 0;
        width: 100%; }
        .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-title, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-title {
          display: inline-block;
          font-size: 1.125rem; }
        .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail {
          display: block;
          float: none;
          width: 100% !important; }
          .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail a, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail a {
            margin-right: 0 !important; }
          .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail img, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-name span.product-thumbnail img {
            height: auto;
            max-width: 12.5rem; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-remove {
        position: absolute;
        right: 0.625rem;
        top: 0.3125rem; }
      .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-price, .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-subtotal, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-price, .woocommerce-page table.shop_table_responsive tr.woocommerce-cart-form__cart-item.cart_item td.product-subtotal {
        background: #D5CDB7; } }

.bs-row-spacing {
  padding-top: 8rem;
  padding-bottom: 8rem; }
  @media only screen and (max-width: 64em) {
    .bs-row-spacing {
      padding-top: 4rem;
      padding-bottom: 4rem; } }

.bs-row-spacing-top {
  padding-top: 8rem; }
  @media only screen and (max-width: 64em) {
    .bs-row-spacing-top {
      padding-top: 4rem; } }

.bs-row-spacing-bottom {
  padding-bottom: 8rem; }
  @media only screen and (max-width: 64em) {
    .bs-row-spacing-bottom {
      padding-bottom: 4rem; } }

html body.home header#masthead {
  background: none;
  position: absolute; }
  html body.home header#masthead .site-title-bar.title-bar {
    background: none !important; }
  html body.home header#masthead .top-bar,
  html body.home header#masthead .top-bar ul.social-media-wrapper,
  html body.home header#masthead .top-bar-left,
  html body.home header#masthead .top-bar-right,
  html body.home header#masthead .top-bar-top,
  html body.home header#masthead .top-bar-bottom,
  html body.home header#masthead ul.desktop-menu,
  html body.home header#masthead ul.desktop-menu + .menu-search-wrapper,
  html body.home header#masthead .desktop-menu + .menu-search-wrapper button.search-toggle {
    background: none !important; }
  html body.home header#masthead .top-bar .top-bar-right ul.desktop-menu > li > a {
    text-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.25); }

html body.home .top-bar .desktop-menu > li > a,
html body.home ul.social-media-wrapper li.menu-search-wrapper button {
  color: #FFFFFF !important; }

html body .off-canvas-content {
  transition: all 0.2s ease-out 0s; }
  html body .off-canvas-content.is-open-right header#masthead,
  html body .off-canvas-content.is-open-right .top-bar,
  html body .off-canvas-content.is-open-right .top-bar ul.social-media-wrapper,
  html body .off-canvas-content.is-open-right .top-bar-left,
  html body .off-canvas-content.is-open-right .top-bar-right,
  html body .off-canvas-content.is-open-right .top-bar-top,
  html body .off-canvas-content.is-open-right .top-bar-bottom {
    background: none !important;
    transition: all 0.2s ease-out 0s; }
  html body .off-canvas-content.is-open-right header#masthead {
    background: rgba(90, 177, 224, 0.95) !important; }
  html body .off-canvas-content.is-open-right header#masthead .site-title-bar.title-bar {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.65) 0%, rgba(255, 255, 255, 0) 80%) !important;
    transition: all 0.2s ease-out 0s; }

header#masthead {
  position: relative; }
  @media only screen and (max-width: 64em) {
    header#masthead .site-navigation.top-bar {
      position: absolute;
      right: 6.25rem;
      top: 0.375rem; }
      header#masthead .site-navigation.top-bar .top-bar-right {
        background: none !important; }
        header#masthead .site-navigation.top-bar .top-bar-right .top-bar-social {
          margin-bottom: 0;
          background: none !important; }
          header#masthead .site-navigation.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper {
            background: none !important;
            margin-bottom: 0; }
            header#masthead .site-navigation.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.custom-button {
              margin-left: 2rem; }
              header#masthead .site-navigation.top-bar .top-bar-right .top-bar-social ul.social-media-wrapper li.custom-button a {
                padding: 0.75rem 2rem; } }

.learn-more-link {
  color: #000000 !important;
  cursor: pointer;
  display: inline-block;
  font-weight: 400;
  font-size: calc(1rem + 0.125 * ( (100vw - 30rem) / 57.5)) !important;
  letter-spacing: 0.375rem;
  padding-bottom: 0.25rem;
  position: relative;
  text-decoration: none !important;
  text-transform: uppercase; }
  @media screen and (max-width: 30rem) {
    .learn-more-link {
      font-size: 1rem !important; } }
  @media screen and (min-width: 87.5rem) {
    .learn-more-link {
      font-size: 1.125rem !important; } }
  .learn-more-link:after {
    background: #000000;
    bottom: 0;
    content: '';
    display: inline-block;
    height: 0.15625rem;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    -webkit-transform: rotate(10deg);
        -ms-transform: rotate(10deg);
            transform: rotate(10deg);
    -webkit-transform-origin: 0 100%;
        -ms-transform-origin: 0 100%;
            transform-origin: 0 100%;
    width: 90%;
    transition: all 0.5s ease-in 0.25s; }
  .learn-more-link:hover:after, .learn-more-link:focus:after {
    opacity: 1;
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
    width: 100%;
    transition: all 0.25s ease-out 0s; }
  .learn-more-link.lml-white {
    color: #FFFFFF; }
    .learn-more-link.lml-white:after {
      background: #FFFFFF !important; }

#home-portals-row {
  overflow: visible; }
  #home-portals-row #home-portals-inner-row {
    margin: 0 auto;
    max-width: 87.5rem;
    width: 100%; }
    #home-portals-row #home-portals-inner-row .home-portal {
      padding: 0 1.5625rem;
      -webkit-transform: translateY(-8rem);
          -ms-transform: translateY(-8rem);
              transform: translateY(-8rem); }
      #home-portals-row #home-portals-inner-row .home-portal div {
        height: 100%; }
      #home-portals-row #home-portals-inner-row .home-portal > div {
        background: #FDC000;
        padding: 5.4375rem 3.1875rem; }
        #home-portals-row #home-portals-inner-row .home-portal > div > div > div > div {
          -webkit-align-items: flex-start;
              -ms-flex-align: start;
                  align-items: flex-start;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; }
        #home-portals-row #home-portals-inner-row .home-portal > div img {
          margin: 0 auto 0 0;
          max-width: 5rem;
          min-width: 2.5rem;
          width: calc(3.125vw * 1.5); }
        #home-portals-row #home-portals-inner-row .home-portal > div h2 {
          color: #002445 !important;
          font-size: calc(1.5rem + 0.6875 * ( (100vw - 30rem) / 57.5)) !important;
          margin-bottom: 1.5rem;
          text-transform: none; }
          @media screen and (max-width: 30rem) {
            #home-portals-row #home-portals-inner-row .home-portal > div h2 {
              font-size: 1.5rem !important; } }
          @media screen and (min-width: 87.5rem) {
            #home-portals-row #home-portals-inner-row .home-portal > div h2 {
              font-size: 2.1875rem !important; } }
        #home-portals-row #home-portals-inner-row .home-portal > div p {
          font-weight: 500;
          margin-bottom: 1.5rem !important; }
          #home-portals-row #home-portals-inner-row .home-portal > div p:last-of-type {
            margin-top: auto;
            margin-bottom: 0 !important; }
      @media only screen and (max-width: 64em) {
        #home-portals-row #home-portals-inner-row .home-portal {
          padding: 0 0.9375rem;
          -webkit-transform: translateY(-4rem);
              -ms-transform: translateY(-4rem);
                  transform: translateY(-4rem); }
          #home-portals-row #home-portals-inner-row .home-portal > div {
            padding: 2.5rem 1.5625rem; } }
      @media only screen and (max-width: 47.9375em) {
        #home-portals-row #home-portals-inner-row .home-portal {
          margin-bottom: 2.5rem;
          margin-left: -1.5625rem;
          width: calc(100% + 1.5625rem); }
          #home-portals-row #home-portals-inner-row .home-portal:last-of-type {
            margin-bottom: 0; } }
    @media only screen and (max-width: 64em) {
      #home-portals-row #home-portals-inner-row {
        padding: 0 0.625rem; } }

.single-testimonial-item .testimonial-content p {
  color: #2272B4 !important;
  font-size: calc(1.25rem + 0.9375 * ( (100vw - 30rem) / 57.5)) !important;
  font-weight: 500; }
  @media screen and (max-width: 30rem) {
    .single-testimonial-item .testimonial-content p {
      font-size: 1.25rem !important; } }
  @media screen and (min-width: 87.5rem) {
    .single-testimonial-item .testimonial-content p {
      font-size: 2.1875rem !important; } }

.single-testimonial-item .testimonial-content h4.testimonial-title span {
  color: #2272B4 !important;
  font-size: 90% !important; }

#featured-testimonials-row {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  #featured-testimonials-row .testimonials-row-heading h2 {
    line-height: 2;
    padding-top: calc(3.125vw * 1.5);
    position: relative;
    text-align: center; }
    #featured-testimonials-row .testimonials-row-heading h2:before {
      background: url(../../assets/images/testimonials-icon.svg) no-repeat center;
      background-size: 100%;
      content: '';
      display: block;
      height: calc(3.125vw * 1.5);
      left: 50%;
      line-height: calc(3.125vw * 1.5);
      position: absolute;
      top: 0;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      width: calc(3.125vw * 1.5); }
      @media only screen and (min-width: 112.5rem) {
        #featured-testimonials-row .testimonials-row-heading h2:before {
          height: 5rem;
          line-height: 5rem;
          width: 5rem; } }
      @media only screen and (max-width: 64em) {
        #featured-testimonials-row .testimonials-row-heading h2:before {
          height: 2.5rem;
          line-height: 2.5rem;
          width: 2.5rem; } }
    @media only screen and (max-width: 64em) {
      #featured-testimonials-row .testimonials-row-heading h2 {
        padding-top: 2.5rem; } }
  @media only screen and (max-width: 60.75em) {
    #featured-testimonials-row .testimonials-row-heading {
      width: 100%; } }
  @media only screen and (max-width: 60.75em) {
    #featured-testimonials-row .testimonials-row-carousel {
      width: 100%; } }
  #featured-testimonials-row .testimonials-wrapper.testimonials-display-carousel {
    border-left: 0.25rem solid #FDC000;
    padding: 4rem calc(3.125vw * 1.5); }
    @media only screen and (min-width: 100rem) {
      #featured-testimonials-row .testimonials-wrapper.testimonials-display-carousel {
        padding: 4rem 4rem; } }
    @media only screen and (max-width: 60.75em) {
      #featured-testimonials-row .testimonials-wrapper.testimonials-display-carousel {
        border-left: 0;
        border-top: 0.25rem solid #FDC000;
        margin-top: 3.125vw;
        padding: 3.125vw 0 0 !important; } }
    @media only screen and (max-width: 60.75em) {
      #featured-testimonials-row .testimonials-wrapper.testimonials-display-carousel .slick-list {
        padding: 0 !important; } }
    #featured-testimonials-row .testimonials-wrapper.testimonials-display-carousel .slick-track {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      #featured-testimonials-row .testimonials-wrapper.testimonials-display-carousel .slick-track .slick-slide {
        opacity: 0;
        transition: all 0.2s ease-out 0s; }
        #featured-testimonials-row .testimonials-wrapper.testimonials-display-carousel .slick-track .slick-slide.slick-current {
          opacity: 1; }

#get-started-row > div > div {
  background-size: cover !important; }
  @media only screen and (max-width: 47.9375em) {
    #get-started-row > div > div {
      min-height: 56vw; } }

#get-started-row > div + div > div {
  background-size: auto 92% !important; }
  #get-started-row > div + div > div > div > div > div {
    padding-left: calc(3.125vw * 1.5); }
    #get-started-row > div + div > div > div > div > div h2, #get-started-row > div + div > div > div > div > div h3, #get-started-row > div + div > div > div > div > div p {
      max-width: 37.5rem; }
    #get-started-row > div + div > div > div > div > div h3 {
      font-size: calc(1.5rem + 0.6875 * ( (100vw - 30rem) / 57.5)) !important;
      margin-bottom: 1.25rem; }
      @media screen and (max-width: 30rem) {
        #get-started-row > div + div > div > div > div > div h3 {
          font-size: 1.5rem !important; } }
      @media screen and (min-width: 87.5rem) {
        #get-started-row > div + div > div > div > div > div h3 {
          font-size: 2.1875rem !important; } }
    #get-started-row > div + div > div > div > div > div p:last-of-type {
      margin-bottom: 0 !important; }
    @media only screen and (max-width: 47.9375em) {
      #get-started-row > div + div > div > div > div > div {
        padding-left: 1.5625rem;
        padding-right: 1.5625rem; } }
  @media only screen and (max-width: 47.9375em) {
    #get-started-row > div + div > div {
      min-height: 0; } }

#existing-clients-row > div > div {
  background-position: center right !important;
  background-size: calc(65vw - (3.125vw * .75)) auto !important;
  overflow: visible; }
  @media only screen and (max-width: 90.625rem) and (min-width: 64.0625rem) {
    #existing-clients-row > div > div {
      background-size: contain !important; } }
  @media only screen and (max-width: 64em) {
    #existing-clients-row > div > div {
      background-size: auto 100% !important; } }
  #existing-clients-row > div > div > div > div {
    max-width: 43.75rem;
    left: calc(50vw - 43.75rem);
    position: relative; }
    @media only screen and (max-width: 90.625rem) {
      #existing-clients-row > div > div > div > div {
        left: auto; } }
  #existing-clients-row > div > div > div > div > div {
    background: #5AB1E0;
    box-shadow: 0 0.5rem 2rem -0.5rem rgba(0, 0, 0, 0.25);
    padding: 1.5625rem;
    position: relative;
    max-width: 43.75rem;
    width: 50vw;
    z-index: 1000; }
    #existing-clients-row > div > div > div > div > div h2, #existing-clients-row > div > div > div > div > div h3, #existing-clients-row > div > div > div > div > div p, #existing-clients-row > div > div > div > div > div a {
      color: #FFFFFF !important;
      position: relative; }
    #existing-clients-row > div > div > div > div > div h3 {
      font-size: calc(1.5rem + 0.6875 * ( (100vw - 30rem) / 57.5)) !important;
      margin-bottom: 1.25rem; }
      @media screen and (max-width: 30rem) {
        #existing-clients-row > div > div > div > div > div h3 {
          font-size: 1.5rem !important; } }
      @media screen and (min-width: 87.5rem) {
        #existing-clients-row > div > div > div > div > div h3 {
          font-size: 2.1875rem !important; } }
    #existing-clients-row > div > div > div > div > div p:last-of-type {
      margin-bottom: 0 !important; }
  @media only screen and (max-width: 47.9375em) {
    #existing-clients-row > div > div {
      background-size: cover !important; }
      #existing-clients-row > div > div > div > div > div {
        background: rgba(90, 177, 224, 0.95);
        width: calc(100vw - 1.5625rem); } }

/**** INTERNAL PAGE STYLES ****/
body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-left {
  background: #FDC000;
  border-right: 3.125vw solid #FFFFFF; }
  body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-left > div {
    padding: 1.5625rem; }
    body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-left > div img {
      max-width: 5rem;
      min-width: 2.5rem;
      width: calc(3.125vw * 1.5); }
    body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-left > div h2 {
      color: #000000 !important;
      font-size: calc(1.5rem + 0.6875 * ( (100vw - 30rem) / 57.5)) !important;
      text-transform: none; }
      @media screen and (max-width: 30rem) {
        body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-left > div h2 {
          font-size: 1.5rem !important; } }
      @media screen and (min-width: 87.5rem) {
        body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-left > div h2 {
          font-size: 2.1875rem !important; } }
  @media only screen and (max-width: 47.9375em) {
    body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-left {
      border-right: 0;
      margin-left: -1.5625rem;
      width: calc(100% + 1.5625rem); } }

body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-right > div p {
  font-weight: 500; }

@media only screen and (max-width: 47.9375em) {
  body:not(.home) #main-container .main-wrap .main-content .entry-content .internal-portals-row .internal-portal-right > div {
    padding: 1.5625rem 0 0 0 !important; } }

/**** FOOTER & PREFOOTER STYLES ****/
.contact-us-lite_wrapper {
  margin-bottom: 0 !important; }

.contact-us-lite {
  margin: 0 auto;
  max-width: 66.6666vw !important;
  width: 100% !important; }
  .contact-us-lite ul.gform_fields {
    position: relative; }
    .contact-us-lite ul.gform_fields .lite-field-left {
      margin-bottom: 1.75rem;
      width: calc(50% - 1rem); }
      .contact-us-lite ul.gform_fields .lite-field-left label {
        color: #FFFFFF !important; }
      .contact-us-lite ul.gform_fields .lite-field-left input {
        box-shadow: 0 0.5rem 2rem -0.5rem rgba(0, 0, 0, 0.25) !important;
        background: rgba(90, 177, 224, 0.35); }
      @media only screen and (max-width: 47.9375em) {
        .contact-us-lite ul.gform_fields .lite-field-left {
          width: 100%; } }
    .contact-us-lite ul.gform_fields .lite-field-right {
      margin-bottom: 1.75rem;
      right: 0;
      position: absolute !important;
      top: 0;
      width: calc(50% - 1rem); }
      .contact-us-lite ul.gform_fields .lite-field-right label {
        color: #FFFFFF !important; }
      .contact-us-lite ul.gform_fields .lite-field-right textarea {
        box-shadow: 0 0.5rem 2rem -0.5rem rgba(0, 0, 0, 0.25) !important;
        background: rgba(90, 177, 224, 0.35); }
      @media only screen and (max-width: 47.9375em) {
        .contact-us-lite ul.gform_fields .lite-field-right {
          position: relative !important;
          width: 100%; } }
  .contact-us-lite .gform_footer {
    text-align: center; }
  @media only screen and (max-width: 64em) {
    .contact-us-lite {
      max-width: none !important; } }

#footer-container .footer-container footer.footer.grid-x section.widget:first-of-type {
  padding-right: calc(3.125vw * 2);
  width: 44%; }
  @media only screen and (max-width: 64em) {
    #footer-container .footer-container footer.footer.grid-x section.widget:first-of-type {
      padding-right: 1.5625rem;
      width: 100%; } }

#footer-container .footer-container footer.footer.grid-x section.widget:nth-of-type(2) {
  width: 28%; }
  @media only screen and (max-width: 64em) {
    #footer-container .footer-container footer.footer.grid-x section.widget:nth-of-type(2) {
      width: 50%; } }
  @media only screen and (max-width: 31.25em) {
    #footer-container .footer-container footer.footer.grid-x section.widget:nth-of-type(2) {
      width: 100%; } }

#footer-container .footer-container footer.footer.grid-x section.widget:nth-of-type(3) {
  width: 28%; }
  @media only screen and (max-width: 64em) {
    #footer-container .footer-container footer.footer.grid-x section.widget:nth-of-type(3) {
      width: 50%; } }
  @media only screen and (max-width: 25em) {
    #footer-container .footer-container footer.footer.grid-x section.widget:nth-of-type(3) {
      width: 100%; } }

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

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

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

.mobile-menu {
  display: none; }

.off-canvas > ul.menu {
  height: auto;
  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: 64em) {
  .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; }

.main-wrap {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 64.0625em) {
    .main-wrap {
      margin-top: 3rem;
      padding-right: 0;
      padding-left: 0; } }
  .main-wrap.sidebar-left .main-content {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .main-wrap.sidebar-left .sidebar {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  @media print, screen and (min-width: 64.0625em) {
    .main-wrap.sidebar-left .main-content {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    .main-wrap.sidebar-left .sidebar {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }
  .main-wrap.full-width .main-content {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
  .main-wrap .sidebar {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 64.0625em) {
      .main-wrap .sidebar {
        width: calc(33.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }

div.pre-footer-container + div.footer-container {
  margin-top: 0; }

div.pre-footer-container .pre-footer {
  margin: 0 auto;
  max-width: 75rem;
  padding: 4rem 0; }

div.pre-footer-container .widget {
  padding: 0 1.5625rem; }
  div.pre-footer-container .widget h4 {
    font-size: calc(2rem + 1.4375 * ( (100vw - 30rem) / 57.5)) !important;
    text-align: center;
    text-transform: uppercase;
    border-bottom: 0; }
    @media screen and (max-width: 30rem) {
      div.pre-footer-container .widget h4 {
        font-size: 2rem !important; } }
    @media screen and (min-width: 87.5rem) {
      div.pre-footer-container .widget h4 {
        font-size: 3.4375rem !important; } }
    @media only screen and (max-width: 47.9375em) {
      div.pre-footer-container .widget h4 {
        text-align: left; } }
  div.pre-footer-container .widget p:last-of-type {
    margin-bottom: 0; }

body.home div.pre-footer-container {
  margin-top: 0; }

.footer-container {
  margin: 0 auto;
  border-top: 0;
  margin-top: 4rem; }

body.home .footer-container {
  margin-top: 0; }

footer.footer {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  padding: 4rem 0 0 !important; }
  footer.footer .widget {
    margin-bottom: 4rem;
    padding: 0 1.5625rem; }
    footer.footer .widget p:last-of-type {
      margin-bottom: 0; }
  footer.footer h6 {
    font-size: calc(1.5rem + 0.75 * ( (100vw - 30rem) / 57.5)) !important;
    margin-bottom: 1.5rem !important;
    text-align: left;
    text-transform: uppercase; }
    @media screen and (max-width: 30rem) {
      footer.footer h6 {
        font-size: 1.5rem !important; } }
    @media screen and (min-width: 87.5rem) {
      footer.footer h6 {
        font-size: 2.25rem !important; } }
  footer.footer p {
    font-size: calc(1rem + 0.125 * ( (100vw - 30rem) / 57.5)) !important;
    font-weight: 500; }
    @media screen and (max-width: 30rem) {
      footer.footer p {
        font-size: 1rem !important; } }
    @media screen and (min-width: 87.5rem) {
      footer.footer p {
        font-size: 1.125rem !important; } }
  footer.footer a {
    color: #FFFFFF !important; }
  footer.footer ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
  footer.footer ul.menu {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    footer.footer ul.menu li {
      display: block;
      margin-bottom: 0.3125rem;
      padding: 0; }
      footer.footer ul.menu li a {
        padding: 0;
        display: block;
        font-weight: 600;
        line-height: 1.6;
        text-transform: uppercase;
        transition: color 0.2s ease-out 0s; }
      footer.footer ul.menu li.is-active a {
        background: none;
        color: inherit; }
  footer.footer article {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    margin: 0; }

#copyright-container #copyright {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #copyright-container #copyright p {
    font-weight: 500; }
  #copyright-container #copyright a {
    text-decoration: underline; }

body#tinymce {
  height: auto;
  max-width: 75rem;
  padding: 1.25rem !important; }

.sites-button {
  background: #1779ba;
  font-size: 1.25rem;
  font-weight: bold;
  box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
  border-radius: 3px;
  border: none; }

.cards-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .cards-container .card {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    .cards-container .card .card-content {
      padding: 1rem; }
    @media print, screen and (min-width: 64.0625em) {
      .cards-container .card {
        width: calc(33.33333% - 0.7rem);
        margin-right: 0.35rem;
        margin-left: 0.35rem; } }

.featured-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 16vw;
  min-height: 6.25rem;
  max-height: 22.5rem; }

.dotted, .section-divider hr {
  border-style: dashed;
  margin: 2rem 0; }

[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus {
  outline: none; }

.front-hero {
  background: url("../images/demo/hero-bg-foundation-6-small.svg") bottom center;
  background-size: cover;
  background-position: bottom;
  padding: 4.0625rem 0;
  margin: 0 0 2rem;
  height: auto;
  position: relative;
  text-align: left; }
  .front-hero .marketing {
    max-width: 55rem;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
  @media print, screen and (min-width: 64.0625em) {
    .front-hero {
      background: url("../images/demo/hero-bg-foundation-6-large.svg") bottom center;
      background-size: cover;
      background-position: center;
      height: 42.8125rem;
      margin: 0 0 4.5rem; } }
  .front-hero .watch {
    width: calc(58.33333% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 64.0625em) {
      .front-hero .watch {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .front-hero .watch a {
      color: #B4C9D1;
      cursor: pointer;
      font-weight: 400;
      margin-right: 1.25rem; }
    .front-hero .watch a:hover {
      color: #fff; }
    .front-hero .watch #stargazers :before {
      content: "\f09b";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
    .front-hero .watch #twitter :before {
      content: "\f099";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
  .front-hero .tagline {
    width: calc(66.66667% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 64.0625em) {
      .front-hero .tagline {
        width: calc(41.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        padding-top: 6rem; } }
  .front-hero h1 {
    color: #fff;
    font-weight: 500;
    font-size: 2.2rem; }
    @media print, screen and (min-width: 64.0625em) {
      .front-hero h1 {
        font-size: 2.875rem; } }
  .front-hero h4 {
    color: #fefefe;
    font-weight: 300;
    font-size: 1.3125rem; }
  .front-hero .download {
    margin-top: 1.25rem; }

.intro {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .intro .fp-intro {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 64.0625em) {
      .intro .fp-intro {
        width: calc(83.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-left: calc(8.33333% + 0.9375rem); }
        .intro .fp-intro h2 {
          font-weight: 300;
          margin-bottom: 1.5rem; }
        .intro .fp-intro h4 {
          font-size: 1.125rem;
          line-height: 1.6;
          color: #777;
          margin-bottom: 2rem; } }

.section-divider {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .section-divider hr {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    box-sizing: border-box; }

.benefits {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  text-align: center; }
  .benefits header {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    .benefits header h2 {
      font-weight: 300; }
    .benefits header h4 {
      font-size: 1.125rem;
      line-height: 1.6;
      color: #777; }
  .benefits .semantic,
  .benefits .responsive,
  .benefits .customizable,
  .benefits .professional {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 64.0625em) {
      .benefits .semantic,
      .benefits .responsive,
      .benefits .customizable,
      .benefits .professional {
        width: calc(25% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .benefits .semantic img,
    .benefits .responsive img,
    .benefits .customizable img,
    .benefits .professional img {
      padding: 1.25rem;
      margin: 1rem auto 0 auto; }
    .benefits .semantic h3,
    .benefits .responsive h3,
    .benefits .customizable h3,
    .benefits .professional h3 {
      color: #0a0a0a;
      font-weight: 300;
      font-size: 1.75rem; }
    .benefits .semantic p,
    .benefits .responsive p,
    .benefits .customizable p,
    .benefits .professional p {
      font-size: 0.9375rem; }
  .benefits .why-foundation {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    margin-top: 4rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiYXBwLnNjc3MiLCJnbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fd3Atb3ZlcnJpZGVzLnNjc3MiLCJnbG9iYWwvX2FsbG9uc3ktY29yZS5zY3NzIiwiZ2xvYmFsL19icy1hMTF5LnNjc3MiLCJnbG9iYWwvX2JzLXZhcmlhYmxlcy5zY3NzIiwiZ2xvYmFsL19wcmVsb2FkZXIuc2NzcyIsImdsb2JhbC9fZ2VuZXJhbC1zdHlsZXMuc2NzcyIsImdsb2JhbC9faGVhZGVyLnNjc3MiLCJnbG9iYWwvX2hlYWRlci1vbmUuc2NzcyIsImdsb2JhbC9fb2ZmLWNhbnZhcy5zY3NzIiwiZ2xvYmFsL19tZW51LXRvcC1iYXIuc2NzcyIsImdsb2JhbC9fc3RpY2t5LWhlYWRlci5zY3NzIiwiZ2xvYmFsL19oZWFkZXItb3ZlcnJpZGVzLnNjc3MiLCJnbG9iYWwvX2hvbWUtcGFnZS5zY3NzIiwiZ2xvYmFsL19icy1icmVhZGNydW1icy5zY3NzIiwiZ2xvYmFsL19icy10aXRsZS1zdHlsZXMuc2NzcyIsImdsb2JhbC9fZnVsbC13aWR0aC1wYWdlLXN0eWxlcy5zY3NzIiwiZ2xvYmFsL19wb3N0LW5hdi5zY3NzIiwiZ2xvYmFsL19zaWRlYmFyLXN0eWxlcy5zY3NzIiwiZ2xvYmFsL19zb2NpYWwtc2hhcmUuc2NzcyIsImdsb2JhbC9fZ2FsbGVyeS1zaG9ydGNvZGUuc2NzcyIsImdsb2JhbC9fYnMtcGFnaW5hdGlvbi5zY3NzIiwiZ2xvYmFsL19icy1ncmF2aXR5LWZvcm1zLnNjc3MiLCJnbG9iYWwvX2JzLXNlYXJjaC1yZXN1bHRzLnNjc3MiLCJnbG9iYWwvX2JzLWJsb2ctc3R5bGVzLnNjc3MiLCJnbG9iYWwvX2JzLWNvbW1lbnRzLnNjc3MiLCJnbG9iYWwvX2FqYXgtYmxvZy1sb29wLXNob3J0Y29kZS5zY3NzIiwiZ2xvYmFsL19icy1zZXJ2aWNlcy5zY3NzIiwiZ2xvYmFsL19icy1zdGFmZi5zY3NzIiwiZ2xvYmFsL180MDQtc3R5bGVzLnNjc3MiLCJnbG9iYWwvX2llLWVkZ2Utc3R5bGVzLnNjc3MiLCJnbG9iYWwvX3NhZmFyaS1zdHlsZXMuc2NzcyIsImdsb2JhbC9fc2VhcmNoLWZvcm0tc3R5bGVzLnNjc3MiLCJnbG9iYWwvX2JzLXBvcHVwLnNjc3MiLCJnbG9iYWwvX2luc3RhZmVlZC5zY3NzIiwiZ2xvYmFsL19zbGljay5zY3NzIiwiZ2xvYmFsL193b29jb21tZXJjZS5zY3NzIiwiZ2xvYmFsL19icy1zdHlsZXMuc2NzcyIsIm1vZHVsZXMvX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX2NvbnRlbnQuc2NzcyIsIm1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fZWRpdG9yLXN0eWxlLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19jYXJkcy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2RpdmlkZXJzLnNjc3MiLCJjb21wb25lbnRzL19saW5rcy5zY3NzIiwidGVtcGxhdGVzL19mcm9udC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQzBKRztFQ25ISjtJQUNFLFlBQVc7SUFDWCxXQUFVO0lBQ1YsZUFBYyxFQUNmLEVBQUE7O0FDSEQsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBQ0Usd0JDMUN1QjtFRDBDUyxPQUFPO0VBUXJDLGtCQUFpQjtFQUFFLE9BQU87RUFFNUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEOztPQUVHO0FBRUg7Ozs7OztFQU1FLGVBQWMsRUFDZjs7QUFFRDs7O09BR0c7QUFFSDtFRTlFRixlQVh1QztFRm9HakMsaUJBQWdCLEVBRW5COztBQW9DRDtvRkFDZ0Y7QUF1Q2hGOztPQUVHO0FBRUg7O0VBRUUsZUFBYyxFQUNmOztBQUVEOztPQUVHO0FBRUg7RUFLSSxpQkN2TFksRUR5TGY7O0FBRUQ7OztPQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLFVBQVM7RUFBRSxPQUFPO0VBQ2xCLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7O09BRUc7QUFFSDtFQUNF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NEIsRUowSGpDO0VSS0c7SVFwQ0o7TUkzRk0sd0JBQTRCO01BQTVCLHlCQUE0QixFSjBIakMsRUFBQTtFQS9CRDtJR2hERSw2QkFENEU7SUNqQzFFLHVCQUE0QjtJQUE1Qix3QkFBNEIsRUp3RjdCO0VSOEJDO0lRcENKO01HaERFLDZCQUQ0RTtNQ2pDMUUsdUJBQTRCO01BQTVCLHdCQUE0QixFSitGekIsRUFBQTtFQXJDUDtJR3JCRSxZQUFtQixFSHVCcEI7RUFFRDtJR3JCRSxZQUFtQixFSHVCcEI7RUFNQztJR3pCQSxpQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsa0NBRGdILEVINEIvRztFQUZEO0lHekJBLDRCQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxrQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsa0NBRGdILEVINEIvRztFQUZEO0lHekJBLDRCQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxrQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsa0NBRGdILEVINEIvRztFQUZEO0lHekJBLDRCQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxrQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsa0NBRGdILEVINEIvRztFQUZEO0lHekJBLDZCQURnSCxFSDRCL0c7RVI4Q0M7SVE1REo7TUdyQkUsWUFBbUIsRUh1QnBCO0lBRUQ7TUdyQkUsWUFBbUIsRUh1QnBCO0lBTUM7TUd6QkEsaUNBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw2QkFEZ0gsRUg0Qi9HO0lBZEg7TUdyQkUsWUFBbUIsRUh1QnBCO0lBRUQ7TUdyQkUsWUFBbUIsRUh1QnBCO0lBTUM7TUd6QkEsaUNBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw2QkFEZ0gsRUg0Qi9HLEVBQUE7RVI4Q0M7SVE1REo7TUdyQkUsWUFBbUIsRUh1QnBCO0lBRUQ7TUdyQkUsWUFBbUIsRUh1QnBCO0lBTUM7TUd6QkEsaUNBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw0QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLGtDQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw2QkFEZ0gsRUg0Qi9HLEVBQUE7O0FBOENIO0VJL0hNLHlCQUE0QjtFQUE1Qix3QkFBNEIsRUpvSS9CO0VSTEM7SVFBSjtNSS9ITSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVKb0kvQixFQUFBOztBQUxIO0VJL0hNLHlCQUE0QjtFQUE1Qix3QkFBNEIsRUp5SS9CO0VSVkM7SVFBSjtNSS9ITSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVKeUkvQixFQUFBOztBSzVJSDtFRnlERSxZQURvRCxFRXREckQ7O0FBRkQ7RUZ5REUsV0FEb0QsRUV0RHJEOztBQUZEO0VGeURFLGlCQURvRCxFRXREckQ7O0FBRkQ7RUZ5REUsV0FEb0QsRUV0RHJEOztBQUZEO0VGeURFLFdBRG9ELEVFdERyRDs7QUFGRDtFRnlERSxpQkFEb0QsRUV0RHJEOztBQUZEO0VGeURFLGlCQURvRCxFRXREckQ7O0FBRkQ7RUZ5REUsYUFEb0QsRUV0RHJEOztBYmdJRztFYWxJSjtJRnlERSxZQURvRCxFRXREckQ7RUFGRDtJRnlERSxXQURvRCxFRXREckQ7RUFGRDtJRnlERSxpQkFEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsV0FEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsV0FEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsaUJBRG9ELEVFdERyRDtFQUZEO0lGeURFLGlCQURvRCxFRXREckQ7RUFGRDtJRnlERSxhQURvRCxFRXREckQsRUFBQTs7QWJnSUc7RWFsSUo7SUZ5REUsWUFEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsV0FEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsaUJBRG9ELEVFdERyRDtFQUZEO0lGeURFLFdBRG9ELEVFdERyRDtFQUZEO0lGeURFLFdBRG9ELEVFdERyRDtFQUZEO0lGeURFLGlCQURvRCxFRXREckQ7RUFGRDtJRnlERSxpQkFEb0QsRUV0RHJEO0VBRkQ7SUZ5REUsYUFEb0QsRUV0RHJELEVBQUE7O0FBRkQ7RUZ5REUsNkJBRGdILEVFdERqSDs7QUFGRDtFRnlERSw0QkFEZ0gsRUV0RGpIOztBQUZEO0VGeURFLGtDQURnSCxFRXREakg7O0FBRkQ7RUZ5REUsNEJBRGdILEVFdERqSDs7QUFGRDtFRnlERSw0QkFEZ0gsRUV0RGpIOztBQUZEO0VGeURFLGtDQURnSCxFRXREakg7O0FBRkQ7RUZ5REUsa0NBRGdILEVFdERqSDs7QUFGRDtFRnlERSw4QkFEZ0gsRUV0RGpIOztBYmdJRztFYWxJSjtJRnlERSw2QkFEZ0gsRUV0RGpIO0VBRkQ7SUZ5REUsNEJBRGdILEVFdERqSDtFQUZEO0lGeURFLGtDQURnSCxFRXREakg7RUFGRDtJRnlERSw0QkFEZ0gsRUV0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SixnQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLFdBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosV0FEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixXQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLFlBRG9ELEVHaEQvQztJQUZEO01IbURKLGdCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosV0FEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixXQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLFdBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosWUFEb0QsRUdoRC9DO0lBRkQ7TUhtREosZ0JBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixXQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLFdBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixpQkFEb0QsRUdoRC9DO0lBRkQ7TUhtREosV0FEb0QsRUdoRC9DO0lBRkQ7TUhtREosaUJBRG9ELEVHaEQvQztJQUZEO01IbURKLGlCQURvRCxFR2hEL0M7SUFGRDtNSG1ESixZQURvRCxFR2hEL0M7RU5zTEg7SU0vS0EsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOaUx6QjtJTTlLSDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QU5zTEM7RU9oTkYsZ0JBQTZCLEVQa04xQjs7QUFFRDtFT3BORixrQ0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHNCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsd0NBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHlDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsaUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORixtQ0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYseUNBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHlDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsaUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORixtQ0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYseUNBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHlDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsaUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORixtQ0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYseUNBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHlDQUE2QixFUHNOMUI7O0FSaEZEO0VRMEVBO0lPaE5GLGdCQUE2QixFUGtOMUI7RUFFRDtJT3BORixrQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsc0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHdDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQixFQUFBOztBUmhGRDtFUTBFQTtJT2hORixnQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsa0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHNCQUE2QixFUGtOMUI7RUFFRDtJT3BORix3Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQ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QUE0QixFSjBIakMsRUFBQTtFQS9CRDtJR2hERSw4QkFENEU7SUNqQzFFLHNCQUE0QjtJQUE1Qix5QkFBNEIsRUp3RjdCO0VSOEJDO0lRcENKO01HaERFLDhCQUQ0RTtNQ2pDMUUsc0JBQTRCO01BQTVCLHlCQUE0QixFSitGekIsRUFBQTtFQXJDUDtJR3JCRSxhQUFtQixFSHVCcEI7RUFFRDtJR3JCRSxhQUFtQixFSHVCcEI7RUFNQztJR3pCQSxrQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsbUNBRGdILEVINEIvRztFQUZEO0lHekJBLDZCQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxtQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsbUNBRGdILEVINEIvRztFQUZEO0lHekJBLDZCQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxtQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsbUNBRGdILEVINEIvRztFQUZEO0lHekJBLDZCQURnSCxFSDRCL0c7RUFGRDtJR3pCQSxtQ0FEZ0gsRUg0Qi9HO0VBRkQ7SUd6QkEsbUNBRGdILEVINEIvRztFQUZEO0lHekJBLDhCQURnSCxFSDRCL0c7RVI4Q0M7SVE1REo7TUdyQkUsYUFBbUIsRUh1QnBCO0lBRUQ7TUdyQkUsYUFBbUIsRUh1QnBCO0lBTUM7TUd6QkEsa0NBRGdILEVINEIvRztJQUZEO01HekJBLG1DQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw2QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsbUNBRGdILEVINEIvRztJQUZEO01HekJBLG1DQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw2QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsbUNBRGdILEVINEIvRztJQUZEO01HekJBLG1DQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw2QkFEZ0gsRUg0Qi9HO0lBRkQ7TUd6QkEsbUNBRGdILEVINEIvRztJQUZEO01HekJBLG1DQURnSCxFSDRCL0c7SUFGRDtNR3pCQSw4QkFEZ0gsRUg0Qi9HO0lBZEg7TUdyQkUsYUFBbUIsRUh1QnBCO0lBRUQ7TUdyQkUsYUFBbUIsRUh1QnBCO0lBTUM7TUd6QkEsa0NB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QW9CLEVBQ3JCOztBZmdEQztFZTVDQSxlWGhKaUI7RVdpSmpCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7O0VBTUUsK0pYcE9nSztFV3FPaEssbUJYcExzQjtFV3FMdEIsb0JYak95QjtFV2tPekIsZVhwTGtCO0VXcUxsQixtQ1hoS3NDLEVXc0t2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVYbFBlLEVXbVBoQjs7QWYzTkQ7RWV1T1Esa0JQdlA2QztFT21RN0MsaUJYak5XO0VXeU5YLGNBQWE7RUFPYixzQlgvTmlCLEVXaU9wQjs7QUFqQ0Q7RUFJSSxtQlB2UDZDO0VPbVE3QyxpQlhqTlc7RVd5TlgsY0FBYTtFQU9iLHNCWC9OaUIsRVdpT3BCOztBQWpDRDtFQUlJLHFCUHZQNkM7RU9tUTdDLGlCWGpOVztFV3lOWCxjQUFhO0VBT2Isc0JYL05pQixFV2lPcEI7O0FBakNEO0VBSUksb0JQdlA2QztFT21RN0MsaUJYak5XO0VXeU5YLGNBQWE7RUFPYixzQlgvTmlCLEVXaU9wQjs7QUFqQ0Q7RUFJSSxxQlB2UDZDO0VPbVE3QyxpQlhqTlc7RVd5TlgsY0FBYTtFQU9iLHNCWC9OaUIsRVdpT3BCOztBQWpDRDtFQUlJLGdCUHZQNkM7RU9tUTdDLGlCWGpOVztFV3lOWCxjQUFhO0VBT2Isc0JYL05pQixFV2lPcEI7O0FqQjdNSDtFRXZERjtJZXVPUSxnQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLGtCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUkscUJQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxxQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLG1CUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksZ0JQdlA2QyxFT29SaEQsRUFBQTs7QWZuR0w7RWUwR0EscUJBQW9CO0VBQ3BCLGVYM1NjO0VXNFNkLHNCWHpNeUI7RVcyTXpCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZVhoTjJELEVXb041RDtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QWZ2S0Q7RWU0S0EsWUFBVztFQUVYLGlCUGxUcUQ7RU9tVHJELFVBQVM7RUFDVCxxQlg1TnlCO0VXOE56QixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixpQ1hoVWlCO0VXaVVqQixlQUFjLEVBQ2Y7O0FBR0Q7OztFQUdFLG9CWHRQMEI7RVd1UDFCLDZCWHJPeUI7RVdzT3pCLGlCWHpQc0IsRVcwUHZCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0UscUJYL09zQjtFV2dQdEIsc0JYbFBrQixFV21QbkI7O0FBR0Q7RUFDRSxxQlhyUHNCLEVXc1B2Qjs7QUFHRDtFQUVJLHFCWDFQMkI7RVcyUDNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CWGhReUIsRVdzUTFCO0VBUEQ7SUFJSSxzQlhqUThCO0lXa1E5QixrQlgvVm1CLEVXZ1dwQjs7QUFJSDtFQUNFLGlCWC9SMEI7RVdnUzFCLHVDUDFXcUQ7RU8yV3JELCtCWG5YaUIsRVd5WGxCO0VBVEQ7SUFNSSxpQlhyU29CO0lXc1NwQixlWHRYYSxFV3VYZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQlB0WHFEO0VPdVhyRCxlWDlYZSxFV21ZaEI7RUFSRDtJQU1JLGNYblI2QixFQUFBOztBV3dSakM7RUFDRSxrQ1h0WVc7RVd1WVgsYUFBWTtFQUNaLHNCQUFxQixFQUN0Qjs7QWY3UUM7RWVpUkEsVUFBUyxFQUNWOztBQUdEO0VBQ0Usc0NQNVlxRDtFTzhZckQsMEJYdFppQjtFV3VaakIsMEJYeFpnQjtFVzBaaEIsNkRYaldtRTtFV2tXbkUsb0JYL1l5QjtFV2daekIsZVh6WlcsRVcwWlo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJQcFpTO0VPc1pULDBCWHBhZ0I7RVdzYWhCLDZEWDdXbUU7RVc4V25FLGVYcGFXLEVXeWFaOztBQzVjRDtFQUNFLG1CWitKeUI7RVk5SnpCLHNCWitKNEI7RVk3SjVCLG9CWndDeUI7RVl2Q3pCLGlCWndKc0I7RVl2SnRCLGVaNEJlLEVZM0JoQjs7QUFHRDtFQUNFLGdCWmdKcUM7RVkvSXJDLGlCWmdKaUIsRVkvSWxCOztBQUdEO0VBQ0Usa0JaaUptQjtFWWhKbkIsZUFBYyxFQUtmO0VBSEM7SUFDRSxrQkFB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QXdDaEIsdUJBeENnQjtVQXdDaEIsb0JBeENnQjtFRDJGZCw4QkFBcUI7TUFBckIsMkJBQXFCO1VBQXJCLHNCQUFxQixFQUN0Qjs7QUFLRztFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QS9EaUREO0UrRG5EQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QS9EaUREO0UrRG5EQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7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Q0FGeUI7VUFFekIsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCO0VDdkJ2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHFDQUZ5QjtNQUV6QixpQ0FGeUI7VUFFekIsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGaENrQztFSUFsQyw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0ZoQ3FDLEVEY3BDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0YvQmtDO0VJRGxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRi9CcUMsRURhcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyw4QkY1Qm1EO01FNEJuRCwwQkY1Qm1EO1VFNEJuRCxzQkY1Qm1EO0VNR2pELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxnQ0YzQnFEO01FMkJyRCw0QkYzQnFEO1VFMkJyRCx3QkYzQnFEO0VNRW5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VIbUNqQyxpQ0YxQnNEO01FMEJ0RCw2QkYxQnNEO1VFMEJ0RCx5QkYxQnNEO0VNQ3BELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VIa0MvQiwrQkZ6Qm9EO01FeUJwRCwyQkZ6Qm9EO1VFeUJwRCx1QkZ6Qm9EO0VNQWxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5Qyw4QkZ0Qm1EO01Fc0JuRCwwQkZ0Qm1EO1VFc0JuRCxzQkZ0Qm1EO0VNSGpELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxnQ0ZyQnFEO01FcUJyRCw0QkZyQnFEO1VFcUJyRCx3QkZyQnFEO0VNSm5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0ZwQnNEO01Fb0J0RCw2QkZwQnNEO1VFb0J0RCx5QkZwQnNEO0VNTHBELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUNxQi9CLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QywrQkZuQm9EO01FbUJwRCwyQkZuQm9EO1VFbUJwRCx1QkZuQm9EO0VNTmxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUNvQjdCLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMs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VztVQUNYLG9CQUFtQixFQUNwQixFQUFBOztBQU1QO0VwSDNIRSxpQkMwRXVEO0VEekV2RCxlQUFjO0VBc0NkLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBSHFCO01BR3JCLHdCQUhxQjtVQUdyQixvQkFIcUIsRW9IK0Z0QjtFQVREO0lsSG5ESSw2QkFEZ0g7SUM1QzlHLHdCQUE0QjtJQUE1Qix1QkFBNEI7SWlIdUc5Qix1QkFBc0IsRUFDdkI7O0FBSUg7RXBIdklFLGlCQzBFdUQ7RUR6RXZELGVBQWM7RUFzQ2Qsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFIcUI7TUFHckIsd0JBSHFCO1VBR3JCLG9CQUhxQjtFb0hxR3JCLG1CQUFrQixFQWdEbkI7RUFuREQ7SWxIL0RJLDZCQURnSDtJQzVDOUcsd0JBQTRCO0lBQTVCLHVCQUE0QixFaUg2SC9CO0lBakJIO01BU00saUJBQWdCLEVBQ2pCO0lBVkw7TUFhTSxvQkFBbUI7TUFDbkIsaUJBQWdCO01BQ2hCLFlBQVcsRUFDWjtFQWhCTDs7OztJbEgvREksNkJBRGdIO0lDNUM5Ryx3QkFBNEI7SUFBNUIsdUJBQTRCLEVpSHlKL0I7STdIbkNHO002SFZOOzs7O1FsSC9ESSw0QkFEZ0g7UUM1QzlHLHdCQUE0QjtRQUE1Qix1QkFBNEIsRWlIeUovQixFQUFBO0lBN0NIOzs7O01BZ0NNLGlCQUFnQjtNQUNoQix5QkFBd0IsRUFDekI7SUFsQ0w7Ozs7TUFxQ00sZUFBYztNQUNkLGlCQUFnQjtNQUNoQixtQkFBa0IsRUFDbkI7SUF4Q0w7Ozs7TUEyQ00scUJBQW9CLEVBQ3JCO0VBNUNMO0lsSC9ESSw2QkFEZ0g7SUM1QzlHLHdCQUE0QjtJQUE1Qix1QkFBNEI7SWlINko5QixpQkFBZ0IsRUFDakIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT02NC4wNjI1ZW0mbGFyZ2U9ODcuNWVtJnhsYXJnZT0xMDBlbSZ4eGxhcmdlPTExMi41ZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyLXBhZGRlZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gc21hbGwtZnVsbCwgLmdyaWQteCA+IHNtYWxsLTEsIC5ncmlkLXggPiBzbWFsbC0yLCAuZ3JpZC14ID4gc21hbGwtMywgLmdyaWQteCA+IHNtYWxsLTQsIC5ncmlkLXggPiBzbWFsbC01LCAuZ3JpZC14ID4gc21hbGwtNiwgLmdyaWQteCA+IHNtYWxsLTcsIC5ncmlkLXggPiBzbWFsbC04LCAuZ3JpZC14ID4gc21hbGwtOSwgLmdyaWQteCA+IHNtYWxsLTEwLCAuZ3JpZC14ID4gc21hbGwtMTEsIC5ncmlkLXggPiBzbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZ3JpZC14ID4gbWVkaXVtLXNocmluaywgLmdyaWQteCA+IG1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gbWVkaXVtLTEsIC5ncmlkLXggPiBtZWRpdW0tMiwgLmdyaWQteCA+IG1lZGl1bS0zLCAuZ3JpZC14ID4gbWVkaXVtLTQsIC5ncmlkLXggPiBtZWRpdW0tNSwgLmdyaWQteCA+IG1lZGl1bS02LCAuZ3JpZC14ID4gbWVkaXVtLTcsIC5ncmlkLXggPiBtZWRpdW0tOCwgLmdyaWQteCA+IG1lZGl1bS05LCAuZ3JpZC14ID4gbWVkaXVtLTEwLCAuZ3JpZC14ID4gbWVkaXVtLTExLCAuZ3JpZC14ID4gbWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuZ3JpZC14ID4gbGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gbGFyZ2UtZnVsbCwgLmdyaWQteCA+IGxhcmdlLTEsIC5ncmlkLXggPiBsYXJnZS0yLCAuZ3JpZC14ID4gbGFyZ2UtMywgLmdyaWQteCA+IGxhcmdlLTQsIC5ncmlkLXggPiBsYXJnZS01LCAuZ3JpZC14ID4gbGFyZ2UtNiwgLmdyaWQteCA+IGxhcmdlLTcsIC5ncmlkLXggPiBsYXJnZS04LCAuZ3JpZC14ID4gbGFyZ2UtOSwgLmdyaWQteCA+IGxhcmdlLTEwLCAuZ3JpZC14ID4gbGFyZ2UtMTEsIC5ncmlkLXggPiBsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gc21hbGwtZnVsbCwgLmdyaWQteSA+IHNtYWxsLTEsIC5ncmlkLXkgPiBzbWFsbC0yLCAuZ3JpZC15ID4gc21hbGwtMywgLmdyaWQteSA+IHNtYWxsLTQsIC5ncmlkLXkgPiBzbWFsbC01LCAuZ3JpZC15ID4gc21hbGwtNiwgLmdyaWQteSA+IHNtYWxsLTcsIC5ncmlkLXkgPiBzbWFsbC04LCAuZ3JpZC15ID4gc21hbGwtOSwgLmdyaWQteSA+IHNtYWxsLTEwLCAuZ3JpZC15ID4gc21hbGwtMTEsIC5ncmlkLXkgPiBzbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQteSA+IG1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiBtZWRpdW0tZnVsbCwgLmdyaWQteSA+IG1lZGl1bS0xLCAuZ3JpZC15ID4gbWVkaXVtLTIsIC5ncmlkLXkgPiBtZWRpdW0tMywgLmdyaWQteSA+IG1lZGl1bS00LCAuZ3JpZC15ID4gbWVkaXVtLTUsIC5ncmlkLXkgPiBtZWRpdW0tNiwgLmdyaWQteSA+IG1lZGl1bS03LCAuZ3JpZC15ID4gbWVkaXVtLTgsIC5ncmlkLXkgPiBtZWRpdW0tOSwgLmdyaWQteSA+IG1lZGl1bS0xMCwgLmdyaWQteSA+IG1lZGl1bS0xMSwgLmdyaWQteSA+IG1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5ncmlkLXkgPiBsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiBsYXJnZS1mdWxsLCAuZ3JpZC15ID4gbGFyZ2UtMSwgLmdyaWQteSA+IGxhcmdlLTIsIC5ncmlkLXkgPiBsYXJnZS0zLCAuZ3JpZC15ID4gbGFyZ2UtNCwgLmdyaWQteSA+IGxhcmdlLTUsIC5ncmlkLXkgPiBsYXJnZS02LCAuZ3JpZC15ID4gbGFyZ2UtNywgLmdyaWQteSA+IGxhcmdlLTgsIC5ncmlkLXkgPiBsYXJnZS05LCAuZ3JpZC15ID4gbGFyZ2UtMTAsIC5ncmlkLXkgPiBsYXJnZS0xMSwgLmdyaWQteSA+IGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDB2dztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzE3NzliYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzE3NzliYTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiAnKyc7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxMyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2VjZmE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjMzY0NTRmO1xuICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzJDMzg0MDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMkMzODQwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyODBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI4MHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjgwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyODBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMjgwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI4MHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjgwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yODBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjgwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI4MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyODBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyODBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyODBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI4MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjgwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjgwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjgwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjgwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjgwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI4MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyODBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny40Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjczYjE7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIzLCAxMjEsIDE4NiwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMkMzODQwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3R0b206IDEwMCU7IH1cbiAgLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7IH1cbiAgLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwcmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMzODQwOyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny40Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA4Ny40Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcuNDM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny40Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcyB7XG4gIHRvcDogMi44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguOTM3NWVtKSB7XG4gICAgYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzIHtcbiAgICAgIHRvcDogMnJlbTsgfSB9XG5cbi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7IH1cblxucC53cC1jYXB0aW9uLXRleHQge1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qKioqIFRBQkxFIE9GIENPTlRFTlRTICoqKipcblxuMDAuIFZBUklBQkxFU1xuMC4gQUNDRVNTSUJJTFRZIFRPT0xCQVIgU1RZTEVTXG4xLiBQUkVMT0FERVIgU1RZTEVTXG4yLiBHRU5FUkFMIFNUWUxFU1xuMy4gSEVBREVSIFNUWUxFU1xuICAzYS4gSGVhZGVyIE9wdGlvbiBPbmUgU3R5bGVzXG4gIDNiLiBIZWFkZXIgT3B0aW9uIFR3byBTdHlsZXNcbiAgM2MuIEhlYWRlciBPcHRpb24gVGhyZWUgU3R5bGVzXG4gIDNkLiBIZWFkZXIgT3B0aW9uIEZvdXIgU3R5bGVzXG4gIDNlLiBNb2JpbGUgT2ZmLUNhbnZhcyBNZW51IFN0eWxlc1xuICAzZi4gTW9iaWxlIFRvcCBCYXIgTWVudSBTdHlsZXNcbiAgM2cuIFN0aWNreSBIZWFkZXIgU3R5bGVzXG4gIDNoLiBIZWFkZXIgT3ZlcnJpZGVzXG5cbjQuIEhPTUUgUEFHRSBTVFlMRVNcblxuNS4gSU5URVJOQUwgUEFHRSBTVFlMRVNcbiAgNWEuIEJyZWFkY3J1bWJzIFN0eWxlc1xuICA1Yi4gUGFnZSBUaXRsZSBhbmQgVGl0bGUgQmFyIFN0eWxlc1xuICA1Yy4gRnVsbCBXaWR0aCBQYWdlIFRlbXBsYXRlIFN0eWxlc1xuICA1ZC4gUG9zdCBOYXZpZ2F0aW9uIEZvb3RlciBTdHlsZXNcbiAgNWUuIExlZnQgU2lkZWJhciBQYWdlIFRlbXBsYXRlIFN0eWxlc1xuICA1Zi4gU2lkZWJhciBTdHlsZXNcbiAgNWcuIFNvY2lhbCBTaGFyaW5nIFNob3J0Y29kZSBTdHlsZXNcbiAgNWguIEdhbGxlcnkgU2hvcnRjb2RlIFN0eWxlc1xuICA1aS4gUGFnaW5hdGlvbiBTdHlsZXNcbiAgNWouIEdyYXZpdHkgRm9ybSBTdHlsZXNcbiAgNWsuIFNlYXJjaCBSZXN1bHRzIFN0eWxlc1xuXG42LiBCTE9HIFBBR0UgQU5EIFNJTkdMRSBCTE9HIFBPU1QgU1RZTEVTXG4gIDZhLiBDb21tZW50cyBTZWN0aW9uIFN0eWxlc1xuICA2Yi4gQUpBWCBCbG9nIExvb3AgU2hvcnRjb2RlIFN0eWxlc1xuXG43LiBQT1JURk9MSU8gU1RZTEVTXG5cbjguIFNFUlZJQ0VTIFNUWUxFU1xuXG45LiBTVEFGRiBTVFlMRVNcblxuMTAuIDQwNCBQQUdFIFNUWUxFU1xuXG4xMS4gSUUvRURHRSBTVFlMRVNcblxuMTIuIFNBRkFSSSBTVFlMRVNcblxuMTMuIFNFQVJDSCBGT1JNIFNUWUxFU1xuXG4qKiBFTkQgVEFCTEUgT0YgQ09OVEVOVFMgKiovXG4vKioqKiAwMC4gVkFSSUFCTEVTICoqKiovXG4vKioqKiAwLiBBQ0NFU1NJQklMVFkgVE9PTEJBUiBTVFlMRVMgKioqKi9cbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC02MjQuOTM3NXJlbTsgfVxuICAuc2NyZWVuLXJlYWRlci1zaG9ydGN1dDpmb2N1cyB7XG4gICAgbGVmdDogNnB4O1xuICAgIHRvcDogN3B4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMDA3M2FhO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7IH1cblxuLnRvb2x0aXAge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogMTMuNzVyZW07XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNjI1cmVtO1xuICB3aWR0aDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodDpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC4zNzVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMjcyQjQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAudG9vbHRpcC5yaWdodDphZnRlciB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMjcyQjQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cblxuZGl2I2ExMXktdG9vbGJhciB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICM2NjY2NjY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTAwMjsgfVxuICBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWZvbnRzaXplIGJ1dHRvbiwgZGl2I2ExMXktdG9vbGJhciBkaXYjYTExeS1jb250cmFzdCBidXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC4zNzVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktZm9udHNpemUgYnV0dG9uOmhvdmVyLCBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWZvbnRzaXplIGJ1dHRvbjpmb2N1cywgZGl2I2ExMXktdG9vbGJhciBkaXYjYTExeS1jb250cmFzdCBidXR0b246aG92ZXIsIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktY29udHJhc3QgYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWZvbnRzaXplIGJ1dHRvbi5hMTF5LWZvbnRzaXplLCBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWNvbnRyYXN0IGJ1dHRvbi5hMTF5LWZvbnRzaXplIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwIDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgIzY2NjY2NjsgfVxuICAgIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktZm9udHNpemUgYnV0dG9uLmExMXktY29udHJhc3QsIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktY29udHJhc3QgYnV0dG9uLmExMXktY29udHJhc3Qge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjVyZW0gMDsgfVxuICAgIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktZm9udHNpemUgYnV0dG9uLmExMXktYWN0aXZlLCBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWNvbnRyYXN0IGJ1dHRvbi5hMTF5LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNjY2NjY2O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktZm9udHNpemUgYnV0dG9uLmExMXktYWN0aXZlLmExMXktZm9udHNpemUsIGRpdiNhMTF5LXRvb2xiYXIgZGl2I2ExMXktY29udHJhc3QgYnV0dG9uLmExMXktYWN0aXZlLmExMXktZm9udHNpemUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0Q1Q0RCNyAhaW1wb3J0YW50OyB9XG4gICAgZGl2I2ExMXktdG9vbGJhciBkaXYjYTExeS1mb250c2l6ZSBidXR0b24gc3BhbltkYXRhLXRvb2x0aXBdLCBkaXYjYTExeS10b29sYmFyIGRpdiNhMTF5LWNvbnRyYXN0IGJ1dHRvbiBzcGFuW2RhdGEtdG9vbHRpcF0ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgZGl2I2ExMXktdG9vbGJhci5hMTF5LWxlZnQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICBkaXYjYTExeS10b29sYmFyLmExMXktbGVmdCB7XG4gICAgICAgIGJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICBkaXYjYTExeS10b29sYmFyLmExMXktbGVmdC5iYWNrdG9wLWxlZnQge1xuICAgICAgICAgIGJvdHRvbTogNC42ODc1cmVtOyB9IH1cbiAgZGl2I2ExMXktdG9vbGJhci5hMTF5LXJpZ2h0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtIDAgMCAwLjI1cmVtO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICByaWdodDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgZGl2I2ExMXktdG9vbGJhci5hMTF5LXJpZ2h0IHtcbiAgICAgICAgYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgIGRpdiNhMTF5LXRvb2xiYXIuYTExeS1yaWdodC5iYWNrdG9wLXJpZ2h0IHtcbiAgICAgICAgICBib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gICAgZGl2I2ExMXktdG9vbGJhci5hMTF5LXJpZ2h0IGRpdiNhMTF5LWZvbnRzaXplIGJ1dHRvbi5hMTF5LWZvbnRzaXplLCBkaXYjYTExeS10b29sYmFyLmExMXktcmlnaHQgZGl2I2ExMXktY29udHJhc3QgYnV0dG9uLmExMXktZm9udHNpemUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwIDAgMDsgfVxuICAgIGRpdiNhMTF5LXRvb2xiYXIuYTExeS1yaWdodCBkaXYjYTExeS1mb250c2l6ZSBidXR0b24uYTExeS1jb250cmFzdCwgZGl2I2ExMXktdG9vbGJhci5hMTF5LXJpZ2h0IGRpdiNhMTF5LWNvbnRyYXN0IGJ1dHRvbi5hMTF5LWNvbnRyYXN0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyoqKiogVE9HR0xFIEZPTlRTSVpFIFNUWUxFUyAqKioqL1xuaHRtbC5hMTF5LWZvbnRzaXplIC5icy1idG4sIGh0bWwuYTExeS1mb250c2l6ZSAuYnV0dG9uLFxuaHRtbC5hMTF5LWZvbnRzaXplIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgYSxcbmh0bWwuYTExeS1mb250c2l6ZSAudG9wLWJhci1zb2NpYWwgdWwgbGkuY3VzdG9tLWJ1dHRvbiBhLFxuaHRtbC5hMTF5LWZvbnRzaXplIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSxcbmh0bWwuYTExeS1mb250c2l6ZSBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IGEge1xuICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuXG5odG1sLmExMXktZm9udHNpemUgcCwgaHRtbC5hMTF5LWZvbnRzaXplIGEsIGh0bWwuYTExeS1mb250c2l6ZSBsaSwgaHRtbC5hMTF5LWZvbnRzaXplIHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSB0aW1lLCBodG1sLmExMXktZm9udHNpemUgc3Ryb25nLCBodG1sLmExMXktZm9udHNpemUgZW0sIGh0bWwuYTExeS1mb250c2l6ZSBjb2RlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBoMiwgaHRtbC5hMTF5LWZvbnRzaXplIGgyIHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSBoMiBhIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBoMywgaHRtbC5hMTF5LWZvbnRzaXplIGgzIHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSBoMyBhLFxuaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBodG1sLmExMXktZm9udHNpemUgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICBmb250LXNpemU6IDEuODc1cmVtICFpbXBvcnRhbnQ7IH1cblxuaHRtbC5hMTF5LWZvbnRzaXplIGg0LCBodG1sLmExMXktZm9udHNpemUgaDQgc3BhbiwgaHRtbC5hMTF5LWZvbnRzaXplIGg0IGEsXG5odG1sLmExMXktZm9udHNpemUgaDUsIGh0bWwuYTExeS1mb250c2l6ZSBoNSBzcGFuLCBodG1sLmExMXktZm9udHNpemUgaDUgYSxcbmh0bWwuYTExeS1mb250c2l6ZSBoNiwgaHRtbC5hMTF5LWZvbnRzaXplIGg2IHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSBoNiBhIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBuYXYub2ZmLWNhbnZhcyAubWVudSA+IGxpID4gYSxcbmh0bWwuYTExeS1mb250c2l6ZSBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaSA+IGEge1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNXJlbTsgfVxuXG5odG1sLmExMXktZm9udHNpemUgaGVhZGVyI21hc3RoZWFkIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIgYnV0dG9uLm1lbnUtaWNvbiBzcGFuIHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSAuYnJlYWRjcnVtYnMtd3JhcHBlciAjYnJlYWRjcnVtYnMgbGksXG5odG1sLmExMXktZm9udHNpemUgLmJyZWFkY3J1bWJzLXdyYXBwZXIgI2JyZWFkY3J1bWJzIGxpIGEsXG5odG1sLmExMXktZm9udHNpemUgYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiwgaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYixcbmh0bWwuYTExeS1mb250c2l6ZSBib2R5Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLCBodG1sLmExMXktZm9udHNpemUgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLCBodG1sLmExMXktZm9udHNpemUgZGl2Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLFxuaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSwgaHRtbC5hMTF5LWZvbnRzaXplIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhLCBodG1sLmExMXktZm9udHNpemUgZGl2Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSAuZW50cnktY29udGVudCBmaWd1cmUud3AtY2FwdGlvbiBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5odG1sLmExMXktZm9udHNpemUgbGFiZWwsXG5odG1sLmExMXktZm9udHNpemUgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2xhYmVsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggaW5wdXQgKyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG5odG1sLmExMXktZm9udHNpemUgaDEuZW50cnktdGl0bGUge1xuICBmb250LXNpemU6IDIuNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBhc2lkZS5zaWRlYmFyIC53aWRnZXQgaDYge1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSBhc2lkZS5zaWRlYmFyIC53aWRnZXQgbGksIGh0bWwuYTExeS1mb250c2l6ZSBhc2lkZS5zaWRlYmFyIC53aWRnZXQgbGkgYSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5odG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDQge1xuICBmb250LXNpemU6IDEuNzVyZW0gIWltcG9ydGFudDsgfVxuXG5odG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgcCwgaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIGEsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciBsaSwgaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIHNwYW4sIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciB0aW1lLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgc3Ryb25nLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgZW0ge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIGg2IHtcbiAgZm9udC1zaXplOiAxLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIHAsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBhLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgbGksIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBzcGFuLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgdGltZSwgaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIHN0cm9uZywgaHRtbC5hMTF5LWZvbnRzaXplICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIGVtIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAjY29weXJpZ2h0IHAsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAjY29weXJpZ2h0IGEsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAjY29weXJpZ2h0IGxpLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgI2NvcHlyaWdodCBzcGFuLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgI2NvcHlyaWdodCB0aW1lLCBodG1sLmExMXktZm9udHNpemUgI2Zvb3Rlci1jb250YWluZXIgI2NvcHlyaWdodCBzdHJvbmcsIGh0bWwuYTExeS1mb250c2l6ZSAjZm9vdGVyLWNvbnRhaW5lciAjY29weXJpZ2h0IGVtIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBhLCBodG1sLmExMXktY29udHJhc3QgYWJiciwgaHRtbC5hMTF5LWNvbnRyYXN0IGFydGljbGUsIGh0bWwuYTExeS1jb250cmFzdCBhc2lkZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGJhc2Vmb250LCBodG1sLmExMXktY29udHJhc3QgYmRpLCBodG1sLmExMXktY29udHJhc3QgYmlnLCBodG1sLmExMXktY29udHJhc3QgYmxpbmssIGh0bWwuYTExeS1jb250cmFzdCBibG9ja3F1b3RlLCBodG1sLmExMXktY29udHJhc3QgYm9keSwgaHRtbC5hMTF5LWNvbnRyYXN0IGJ1dHRvbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGNhbnZhcywgaHRtbC5hMTF5LWNvbnRyYXN0IGNhcHRpb24sIGh0bWwuYTExeS1jb250cmFzdCBjZW50ZXIsIGh0bWwuYTExeS1jb250cmFzdCBjb2RlLCBodG1sLmExMXktY29udHJhc3QgY29sLCBodG1sLmExMXktY29udHJhc3QgY29sZ3JvdXAsIGh0bWwuYTExeS1jb250cmFzdCBjb21tYW5kLCBodG1sLmExMXktY29udHJhc3QgZGQsIGh0bWwuYTExeS1jb250cmFzdCBkZXRhaWxzLCBodG1sLmExMXktY29udHJhc3QgZGlyLCBodG1sLmExMXktY29udHJhc3QgZGl2LCBodG1sLmExMXktY29udHJhc3QgZGwsIGh0bWwuYTExeS1jb250cmFzdCBkdCwgaHRtbC5hMTF5LWNvbnRyYXN0IGVtYmVkLCBodG1sLmExMXktY29udHJhc3QgZmllbGRzZXQsIGh0bWwuYTExeS1jb250cmFzdCBmaWdjYXB0aW9uLCBodG1sLmExMXktY29udHJhc3QgZmlndXJlLCBodG1sLmExMXktY29udHJhc3QgZm9udCwgaHRtbC5hMTF5LWNvbnRyYXN0IGZvb3RlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGZvcm0sIGh0bWwuYTExeS1jb250cmFzdCBoZWFkZXIsIGh0bWwuYTExeS1jb250cmFzdCBoZ3JvdXAsIGh0bWwuYTExeS1jb250cmFzdCBodG1sLCBodG1sLmExMXktY29udHJhc3QgaWZyYW1lLCBodG1sLmExMXktY29udHJhc3QgaW1nLCBodG1sLmExMXktY29udHJhc3QgaW5wdXQsIGh0bWwuYTExeS1jb250cmFzdCBrYmQsIGh0bWwuYTExeS1jb250cmFzdCBsYWJlbCwgaHRtbC5hMTF5LWNvbnRyYXN0IGxlZ2VuZCwgaHRtbC5hMTF5LWNvbnRyYXN0IGxpLCBodG1sLmExMXktY29udHJhc3QgbGlzdGluZywgaHRtbC5hMTF5LWNvbnRyYXN0IG1hcmssIGh0bWwuYTExeS1jb250cmFzdCBtYXJxdWVlLCBodG1sLmExMXktY29udHJhc3QgbWVudSwgaHRtbC5hMTF5LWNvbnRyYXN0IG1ldGVyLCBodG1sLmExMXktY29udHJhc3QgbXVsdGljb2wsIGh0bWwuYTExeS1jb250cmFzdCBuYXYsIGh0bWwuYTExeS1jb250cmFzdCBub2JyLCBodG1sLmExMXktY29udHJhc3Qgb2JqZWN0LCBodG1sLmExMXktY29udHJhc3Qgb2wsIGh0bWwuYTExeS1jb250cmFzdCBvcHRpb24sIGh0bWwuYTExeS1jb250cmFzdCBwLCBodG1sLmExMXktY29udHJhc3QgcGxhaW50ZXh0LCBodG1sLmExMXktY29udHJhc3QgcHJlLCBodG1sLmExMXktY29udHJhc3QgcHJvZ3Jlc3MsIGh0bWwuYTExeS1jb250cmFzdCBxLCBodG1sLmExMXktY29udHJhc3QgcywgaHRtbC5hMTF5LWNvbnRyYXN0IHNlY3Rpb24sIGh0bWwuYTExeS1jb250cmFzdCBzZWxlY3QsIGh0bWwuYTExeS1jb250cmFzdCBzbWFsbCwgaHRtbC5hMTF5LWNvbnRyYXN0IHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCBzdHJpa2UsIGh0bWwuYTExeS1jb250cmFzdCBzdWIsIGh0bWwuYTExeS1jb250cmFzdCBzdW1tYXJ5LCBodG1sLmExMXktY29udHJhc3Qgc3VwLCBodG1sLmExMXktY29udHJhc3QgdGFibGUsIGh0bWwuYTExeS1jb250cmFzdCB0ZCwgaHRtbC5hMTF5LWNvbnRyYXN0IHRleHRhcmVhLCBodG1sLmExMXktY29udHJhc3QgdGgsIGh0bWwuYTExeS1jb250cmFzdCB0aW1lLCBodG1sLmExMXktY29udHJhc3QgdHIsIGh0bWwuYTExeS1jb250cmFzdCB0dCwgaHRtbC5hMTF5LWNvbnRyYXN0IHVsLCBodG1sLmExMXktY29udHJhc3QgdmFyLCBodG1sLmExMXktY29udHJhc3QgeG1wLCBodG1sLmExMXktY29udHJhc3QgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIHNwYW4ucHJpY2Ugc3Bhbi5hbW91bnQsIGh0bWwuYTExeS1jb250cmFzdCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCBodG1sLmExMXktY29udHJhc3QgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgc3Bhbi5wcmljZSBzcGFuLmFtb3VudCwgaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBoMiwgaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBoMiBzcGFuLCBodG1sLmExMXktY29udHJhc3QgI21haW4tY29udGFpbmVyIGgzLCBodG1sLmExMXktY29udHJhc3QgI21haW4tY29udGFpbmVyIGgzIHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCAjbWFpbi1jb250YWluZXIgaDQsIGh0bWwuYTExeS1jb250cmFzdCAjbWFpbi1jb250YWluZXIgaDQgc3BhbiwgaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBoNSwgaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBoNSBzcGFuLCBodG1sLmExMXktY29udHJhc3QgI21haW4tY29udGFpbmVyIGg2LCBodG1sLmExMXktY29udHJhc3QgI21haW4tY29udGFpbmVyIGg2IHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDEsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDIsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDMsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDQsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDUsIGh0bWwuYTExeS1jb250cmFzdCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDYsIGh0bWwuYTExeS1jb250cmFzdCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGgxLCBodG1sLmExMXktY29udHJhc3QgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoMiwgaHRtbC5hMTF5LWNvbnRyYXN0IC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgaDMsIGh0bWwuYTExeS1jb250cmFzdCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGg0LCBodG1sLmExMXktY29udHJhc3QgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoNSwgaHRtbC5hMTF5LWNvbnRyYXN0IC5mb290ZXItY29udGFpbmVyIC5mb290ZXIgaDYsIGh0bWwuYTExeS1jb250cmFzdCBzcGFuLnJlcXVpcmVkLCBodG1sLmExMXktY29udHJhc3QgYm9keS53b29jb21tZXJjZSBzcGFuLnJlcXVpcmVkLCBodG1sLmExMXktY29udHJhc3QgYm9keS53b29jb21tZXJjZS1wYWdlIHNwYW4ucmVxdWlyZWQsIGh0bWwuYTExeS1jb250cmFzdCBkaXYud29vY29tbWVyY2Ugc3Bhbi5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjRjNGM0YzICFpbXBvcnRhbnQ7IH1cblxuaHRtbC5hMTF5LWNvbnRyYXN0IGEge1xuICBjb2xvcjogeWVsbG93ICFpbXBvcnRhbnQ7IH1cblxuaHRtbC5hMTF5LWNvbnRyYXN0ICNtYWluLWNvbnRhaW5lciBhLCBodG1sLmExMXktY29udHJhc3QgLnByZS1mb290ZXItY29udGFpbmVyIGEsIGh0bWwuYTExeS1jb250cmFzdCAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyIGEsIGh0bWwuYTExeS1jb250cmFzdCAjY29weXJpZ2h0IGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBhLCBodG1sLmExMXktY29udHJhc3QgYWJiciwgaHRtbC5hMTF5LWNvbnRyYXN0IGFjcm9ueW0sIGh0bWwuYTExeS1jb250cmFzdCBhZGRyZXNzLCBodG1sLmExMXktY29udHJhc3QgYXJ0aWNsZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGFzaWRlLCBodG1sLmExMXktY29udHJhc3QgYiwgaHRtbC5hMTF5LWNvbnRyYXN0IGJhc2Vmb250LCBodG1sLmExMXktY29udHJhc3QgYmRpLCBodG1sLmExMXktY29udHJhc3QgYmlnLCBodG1sLmExMXktY29udHJhc3QgYmxpbmssIGh0bWwuYTExeS1jb250cmFzdCBibG9ja3F1b3RlLCBodG1sLmExMXktY29udHJhc3QgYm9keSwgaHRtbC5hMTF5LWNvbnRyYXN0IGNhbnZhcywgaHRtbC5hMTF5LWNvbnRyYXN0IGNhcHRpb24sIGh0bWwuYTExeS1jb250cmFzdCBjZW50ZXIsIGh0bWwuYTExeS1jb250cmFzdCBjaXRlLCBodG1sLmExMXktY29udHJhc3QgY29kZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGNvbCwgaHRtbC5hMTF5LWNvbnRyYXN0IGNvbGdyb3VwLCBodG1sLmExMXktY29udHJhc3QgY29tbWFuZCwgaHRtbC5hMTF5LWNvbnRyYXN0IGRkLCBodG1sLmExMXktY29udHJhc3QgZGV0YWlscywgaHRtbC5hMTF5LWNvbnRyYXN0IGRmbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGRpciwgaHRtbC5hMTF5LWNvbnRyYXN0IGRpdiwgaHRtbC5hMTF5LWNvbnRyYXN0IGRsLCBodG1sLmExMXktY29udHJhc3QgZHQsIGh0bWwuYTExeS1jb250cmFzdCBlbSwgaHRtbC5hMTF5LWNvbnRyYXN0IGVtYmVkLCBodG1sLmExMXktY29udHJhc3QgZmllbGRzZXQsIGh0bWwuYTExeS1jb250cmFzdCBmaWdjYXB0aW9uLCBodG1sLmExMXktY29udHJhc3QgZmlndXJlLCBodG1sLmExMXktY29udHJhc3QgZm9udCwgaHRtbC5hMTF5LWNvbnRyYXN0IGZvb3RlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGZvcm0sIGh0bWwuYTExeS1jb250cmFzdCBoMSwgaHRtbC5hMTF5LWNvbnRyYXN0IGgxIGEsIGh0bWwuYTExeS1jb250cmFzdCBoMSBhIGIsIGh0bWwuYTExeS1jb250cmFzdCBoMSBhYmJyLCBodG1sLmExMXktY29udHJhc3QgaDEgY2VudGVyLCBodG1sLmExMXktY29udHJhc3QgaDEgc3BhbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGgyLCBodG1sLmExMXktY29udHJhc3QgaDIgYSwgaHRtbC5hMTF5LWNvbnRyYXN0IGgyIGEgYiwgaHRtbC5hMTF5LWNvbnRyYXN0IGgyIGFiYnIsIGh0bWwuYTExeS1jb250cmFzdCBoMiBjZW50ZXIsIGh0bWwuYTExeS1jb250cmFzdCBoMiBzcGFuLCBodG1sLmExMXktY29udHJhc3QgaDMsIGh0bWwuYTExeS1jb250cmFzdCBoMyBhLCBodG1sLmExMXktY29udHJhc3QgaDMgYSBiLCBodG1sLmExMXktY29udHJhc3QgaDMgYWJiciwgaHRtbC5hMTF5LWNvbnRyYXN0IGgzIGNlbnRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGgzIHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCBoNCwgaHRtbC5hMTF5LWNvbnRyYXN0IGg0IGEsIGh0bWwuYTExeS1jb250cmFzdCBoNCBhIGIsIGh0bWwuYTExeS1jb250cmFzdCBoNCBhYmJyLCBodG1sLmExMXktY29udHJhc3QgaDQgY2VudGVyLCBodG1sLmExMXktY29udHJhc3QgaDQgc3BhbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGg1LCBodG1sLmExMXktY29udHJhc3QgaDUgYSwgaHRtbC5hMTF5LWNvbnRyYXN0IGg1IGEgYiwgaHRtbC5hMTF5LWNvbnRyYXN0IGg1IGFiYnIsIGh0bWwuYTExeS1jb250cmFzdCBoNSBjZW50ZXIsIGh0bWwuYTExeS1jb250cmFzdCBoNSBzcGFuLCBodG1sLmExMXktY29udHJhc3QgaDYsIGh0bWwuYTExeS1jb250cmFzdCBoNiBhLCBodG1sLmExMXktY29udHJhc3QgaDYgYSBiLCBodG1sLmExMXktY29udHJhc3QgaDYgYWJiciwgaHRtbC5hMTF5LWNvbnRyYXN0IGg2IGNlbnRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGg2IHNwYW4sIGh0bWwuYTExeS1jb250cmFzdCBoZWFkZXIsIGh0bWwuYTExeS1jb250cmFzdCBoZ3JvdXAsIGh0bWwuYTExeS1jb250cmFzdCBodG1sLCBodG1sLmExMXktY29udHJhc3QgaSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlmcmFtZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlucHV0LCBodG1sLmExMXktY29udHJhc3Qga2JkLCBodG1sLmExMXktY29udHJhc3QgbGFiZWwsIGh0bWwuYTExeS1jb250cmFzdCBsZWdlbmQsIGh0bWwuYTExeS1jb250cmFzdCBsaSwgaHRtbC5hMTF5LWNvbnRyYXN0IGxpc3RpbmcsIGh0bWwuYTExeS1jb250cmFzdCBtYXJrLCBodG1sLmExMXktY29udHJhc3QgbWFycXVlZSwgaHRtbC5hMTF5LWNvbnRyYXN0IG1lbnUsIGh0bWwuYTExeS1jb250cmFzdCBtZXRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IG11bHRpY29sLCBodG1sLmExMXktY29udHJhc3QgbmF2LCBodG1sLmExMXktY29udHJhc3Qgbm9iciwgaHRtbC5hMTF5LWNvbnRyYXN0IG9iamVjdCwgaHRtbC5hMTF5LWNvbnRyYXN0IG9sLCBodG1sLmExMXktY29udHJhc3Qgb3B0aW9uLCBodG1sLmExMXktY29udHJhc3QgcCwgaHRtbC5hMTF5LWNvbnRyYXN0IHBsYWludGV4dCwgaHRtbC5hMTF5LWNvbnRyYXN0IHByZSwgaHRtbC5hMTF5LWNvbnRyYXN0IHByb2dyZXNzLCBodG1sLmExMXktY29udHJhc3QgcSwgaHRtbC5hMTF5LWNvbnRyYXN0IHMsIGh0bWwuYTExeS1jb250cmFzdCBzZWN0aW9uLCBodG1sLmExMXktY29udHJhc3Qgc21hbGwsIGh0bWwuYTExeS1jb250cmFzdCBzcGFuLCBodG1sLmExMXktY29udHJhc3Qgc3RyaWtlLCBodG1sLmExMXktY29udHJhc3Qgc3Ryb25nLCBodG1sLmExMXktY29udHJhc3Qgc3ViLCBodG1sLmExMXktY29udHJhc3Qgc3VtbWFyeSwgaHRtbC5hMTF5LWNvbnRyYXN0IHN1cCwgaHRtbC5hMTF5LWNvbnRyYXN0IHRhYmxlLCBodG1sLmExMXktY29udHJhc3QgdGQsIGh0bWwuYTExeS1jb250cmFzdCB0ZXh0YXJlYSwgaHRtbC5hMTF5LWNvbnRyYXN0IHRoLCBodG1sLmExMXktY29udHJhc3QgdGltZSwgaHRtbC5hMTF5LWNvbnRyYXN0IHRyLCBodG1sLmExMXktY29udHJhc3QgdHQsIGh0bWwuYTExeS1jb250cmFzdCB1LCBodG1sLmExMXktY29udHJhc3QgdWwsIGh0bWwuYTExeS1jb250cmFzdCB2YXIsIGh0bWwuYTExeS1jb250cmFzdCB4bXAsIGh0bWwuYTExeS1jb250cmFzdCAuYnMtYnRuLCBodG1sLmExMXktY29udHJhc3QgLmJ1dHRvbiwgaHRtbC5hMTF5LWNvbnRyYXN0IGhlYWRlciNtYXN0aGVhZCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0YzRjNGMyAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaHRtbC5hMTF5LWNvbnRyYXN0IGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGh0bWwuYTExeS1jb250cmFzdCB0ZXh0YXJlYSwgaHRtbC5hMTF5LWNvbnRyYXN0IHNlbGVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuXG5odG1sLmExMXktY29udHJhc3QgaW1nIHtcbiAgYmFja2dyb3VuZDogIzgwODA4MCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwICFpbXBvcnRhbnQ7XG4gIG1peC1ibGVuZC1tb2RlOiB1bnNldCAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSxcbmh0bWwuYTExeS1jb250cmFzdCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbmh0bWwuYTExeS1jb250cmFzdCBib2R5Lndvb2NvbW1lcmNlIHNwYW4ub25zYWxlOmJlZm9yZSwgaHRtbC5hMTF5LWNvbnRyYXN0IGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGh0bWwuYTExeS1jb250cmFzdCBkaXYud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDAwMDsgfVxuXG5odG1sLmExMXktY29udHJhc3QgYm9keS53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLm9uc2FsZTphZnRlciwgaHRtbC5hMTF5LWNvbnRyYXN0IGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDAwMDA7IH1cblxuLyoqKiogMS4gUFJFTE9BREVSIFNUWUxFUyAqKioqL1xuI3ByZWxvYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk5OTk7IH1cbiAgI3ByZWxvYWRlciAucHJlbG9hZGVyLWlubmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAjcHJlbG9hZGVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAyNXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgI3ByZWxvYWRlciBpbWcge1xuICAgICAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG4gICNwcmVsb2FkZXIgLmxldHRlci1ob2xkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICNwcmVsb2FkZXIgLmxldHRlciB7XG4gICAgY29sb3I6ICMyMjcyQjQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3ByZWxvYWRlciAuYW5pbWF0ZS1sb2FkaW5nIC5sZXR0ZXIge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBsb2FkaW5nRjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNnM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbGluZWFyOyB9XG4gICNwcmVsb2FkZXIgLmwtMSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuNDhzOyB9XG4gICNwcmVsb2FkZXIgLmwtMiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuNnM7IH1cbiAgI3ByZWxvYWRlciAubC0zIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC43MnM7IH1cbiAgI3ByZWxvYWRlciAubC00IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC44NHM7IH1cbiAgI3ByZWxvYWRlciAubC01IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC45NnM7IH1cbiAgI3ByZWxvYWRlciAubC02IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEuMDhzOyB9XG4gICNwcmVsb2FkZXIgLmwtNyB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxLjJzOyB9XG4gICNwcmVsb2FkZXIgLmwtOCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxLjMyczsgfVxuICAjcHJlbG9hZGVyIC5sLTkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMS40NHM7IH1cbiAgI3ByZWxvYWRlciAubC0xMCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxLjU2czsgfVxuXG5Aa2V5ZnJhbWVzIGxvYWRpbmdGIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hZG1pbi1iYXIgI3ByZWxvYWRlciBpbWcge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcbiAgICAuYWRtaW4tYmFyICNwcmVsb2FkZXIgaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNDM3NXJlbTsgfSB9XG5cbi8qKioqIDIuIEdFTkVSQUwgU1RZTEVTICoqKiovXG4qIHtcbiAgLXdlYmtpdC1oeXBoZW5zOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otaHlwaGVuczogbm9uZSAhaW1wb3J0YW50O1xuICBoeXBoZW5zOiBub25lICFpbXBvcnRhbnQ7IH1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0LFxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZXJhbmNlOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYVtocmVmXj10ZWxdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlcmFuY2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5hIHtcbiAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuXG5wLCBsaSB7XG4gIGZvbnQtc2l6ZTogY2FsYygxcmVtICsgMC4yNSAqICggKDEwMHZ3IC0gMzByZW0pIC8gNTcuNSkpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzByZW0pIHtcbiAgICBwLCBsaSB7XG4gICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVyZW0pIHtcbiAgICBwLCBsaSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIHAgc3Bhbjpub3QoW2NsYXNzKj0nZmEnXSksIHAgdGltZSwgbGkgc3Bhbjpub3QoW2NsYXNzKj0nZmEnXSksIGxpIHRpbWUge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1dncgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjU2MjVyZW0pIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5tYjAge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnBpcGUtc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gIG1hcmdpbjogMCAwLjM3NXJlbTsgfVxuXG5idXR0b24ubWVudS1pY29uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMyMjcyQjQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsZXR0ZXItc3BhY2luZzogLS4wMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjg1cyBlYXNlLW91dCAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC44NXMgZWFzZS1vdXQgMHM7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC44NXMgZWFzZS1vdXQgMHM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjg1cyBlYXNlLW91dCAwczsgfVxuICBidXR0b24ubWVudS1pY29uOmJlZm9yZSwgYnV0dG9uLm1lbnUtaWNvbjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGJ1dHRvbi5tZW51LWljb24gc3Bhbi5tZW51LWljb24tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkRDMDAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEuODc1cmVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0IDAuMTVzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0IDAuMTVzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZS1pbi1vdXQgMC4xNXM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0IDAuMTVzOyB9XG4gICAgYnV0dG9uLm1lbnUtaWNvbiBzcGFuLm1lbnUtaWNvbi1iYXIubWVudS1pY29uLWJhci0yIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNjVzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC42NXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuNjVzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNjVzIGVhc2UtaW4tb3V0IDBzOyB9XG4gIGJ1dHRvbi5tZW51LWljb24uYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZVgoMC42MjVyZW0pO1xuICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNzVzIGVhc2UtaW4tb3V0IDBzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNzVzIGVhc2UtaW4tb3V0IDBzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC43NXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNzVzIGVhc2UtaW4tb3V0IDBzOyB9XG4gICAgYnV0dG9uLm1lbnUtaWNvbi5hY3RpdmUgc3Bhbi5tZW51LWljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZS1pbi1vdXQgMHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0IDBzOyB9XG4gICAgYnV0dG9uLm1lbnUtaWNvbi5hY3RpdmUgc3Bhbi5tZW51LWljb24tYmFyLTEge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgYnV0dG9uLm1lbnUtaWNvbi5hY3RpdmUgc3Bhbi5tZW51LWljb24tYmFyLTIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC42NXMgZWFzZS1vdXQgMC4zNXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjY1cyBlYXNlLW91dCAwLjM1cztcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC42NXMgZWFzZS1vdXQgMC4zNXM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42NXMgZWFzZS1vdXQgMC4zNXM7IH1cbiAgICBidXR0b24ubWVudS1pY29uLmFjdGl2ZSBzcGFuLm1lbnUtaWNvbi1iYXItMyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGgxLmFsaWduY2VudGVyLCBoMi5hbGlnbmNlbnRlciwgaDMuYWxpZ25jZW50ZXIsIGg0LmFsaWduY2VudGVyLCBoNS5hbGlnbmNlbnRlciwgaDYuYWxpZ25jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBoMS5hbGlnbmxlZnQsIGgyLmFsaWdubGVmdCwgaDMuYWxpZ25sZWZ0LCBoNC5hbGlnbmxlZnQsIGg1LmFsaWdubGVmdCwgaDYuYWxpZ25sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGgxLmFsaWducmlnaHQsIGgyLmFsaWducmlnaHQsIGgzLmFsaWducmlnaHQsIGg0LmFsaWducmlnaHQsIGg1LmFsaWducmlnaHQsIGg2LmFsaWducmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbmgyLCBoMiBzcGFuIHtcbiAgZm9udC1zaXplOiAycmVtOyB9XG5cbmgzLCBoMyBzcGFuIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG5oNCwgaDQgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG5cbmg1LCBoNSBzcGFuIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cblxuaDYsIGg2IHNwYW4ge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gIC5hbGlnbnJpZ2h0LCAuYWxpZ25sZWZ0LCAuYWxpZ25jZW50ZXIsIC5hbGlnbm5vbmUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgZmlndXJlLmFsaWducmlnaHQgaW1nLCBmaWd1cmUuYWxpZ25sZWZ0IGltZywgZmlndXJlLmFsaWduY2VudGVyIGltZywgZmlndXJlLmFsaWdubm9uZSBpbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zZWN0aW9uLWhlYWRpbmcge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zZWN0aW9uLWhlYWRpbmcgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2VjdGlvbi1oZWFkaW5nIHNwYW4uc2VjdGlvbi1oZWFkaW5nLWlubmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiA5LjM3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNlY3Rpb24taGVhZGluZyBzcGFuLnNlY3Rpb24taGVhZGluZy1pbm5lciBzcGFuW2NsYXNzKj1cImZhLVwiXSB7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5zZWN0aW9uLWhlYWRpbmcuYWxpZ25jZW50ZXIgc3Bhbi5zZWN0aW9uLWhlYWRpbmctaW5uZXI6YWZ0ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnNlY3Rpb24taGVhZGluZy5hbGlnbnJpZ2h0IHNwYW4uc2VjdGlvbi1oZWFkaW5nLWlubmVyOmFmdGVyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuc3Bhbi5zdWItdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA2NSU7XG4gIG1hcmdpbjogMC42MjVyZW0gMDsgfVxuXG4ucGwxNSB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnByMTUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXQxNSB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYjE1IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZjYXJkIGFiYnIge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogdGV4dCAhaW1wb3J0YW50OyB9XG5cbi52Y2FyZCAudHlwZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0IHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IGhlYWRlciNtYXN0aGVhZCB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwIGhlYWRlciNtYXN0aGVhZCB7XG4gIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuNjI1cmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG51bC5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHVsLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBGb3VuZGF0aW9uIDYgVGFicyBTdHlsZXMgKi9cbi50YWJzIHtcbiAgYm9yZGVyOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC50YWJzIC50YWJzLXRpdGxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAudGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICAgICAgYm90dG9tOiAtMC4wNjI1cmVtO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZzogMC43NXJlbSAwLjkzNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAudGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjRDVDREI3O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTAuMTI1cmVtIDAuNDM3NXJlbSAjMDAxZTYxOyB9IH1cbiAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYjAxZjIzO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNENUNEQjc7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmU6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0OyB9IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNENUNEQjc7XG4gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0OyB9XG5cbi8qIEZvdW5kYXRpb24gNiBBY2NvcmRpb24gU3R5bGVzICovXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjI3MkI0O1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuOTM3NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjRDVDREI3O1xuICAgIGJvcmRlcjogMDsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmFjY29yZGlvbi5yb3VuZGVkIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuYWNjb3JkaW9uLnJvdW5kZWQgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwLjI1cmVtIDAgMCAhaW1wb3J0YW50OyB9XG4gIC5hY2NvcmRpb24ucm91bmRlZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4yNXJlbSAwLjI1cmVtOyB9XG4gIC5hY2NvcmRpb24uY2hldnJvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUsIC5hY2NvcmRpb24udHJpYW5nbGUgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMDc4JyAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7IH1cbiAgLmFjY29yZGlvbi5jaGV2cm9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmFjY29yZGlvbi50cmlhbmdsZSAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTsgfVxuICAuYWNjb3JkaW9uLnRyaWFuZ2xlIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjBkNycgIWltcG9ydGFudDsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50ICNmb290ZXItY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDsgfVxuXG4uaGlkZS1mb3Itbm93IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBzcGVhazogbm9uZTtcbiAgbGVmdDogLTk5OTlweDsgfVxuXG4udGhlLXRhZ3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDIuNXJlbSAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50aGUtdGFncyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbi5rZWVwLXRvZ2V0aGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuYm9keS5tb2RhbC1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5icy1idG4sIC5nZm9ybV9mb290ZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uLCAjcmVzcG9uZCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI0ZEQzAwMDtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjRkRDMDAwO1xuICBib3JkZXItcmFkaXVzOiAxMi41cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGNhbGMoMXJlbSArIDAuMTI1ICogKCAoMTAwdncgLSAzMHJlbSkgLyA1Ny41KSkgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMC4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDIuNXJlbSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMHJlbSkge1xuICAgIC5icy1idG4sIC5nZm9ybV9mb290ZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uLCAjcmVzcG9uZCAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNXJlbSkge1xuICAgIC5icy1idG4sIC5nZm9ybV9mb290ZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uLCAjcmVzcG9uZCAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5icy1idG4uYnMtYnRuLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjRkZGRkZGOyB9XG5cbi5icy1idG4uYnMtYnRuLXdoaXRlOmhvdmVyLFxuLmJzLWJ0bi5icy1idG4td2hpdGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwMDAwMDA7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5icy1idG4uYnMtYnRuLXJlZCB7XG4gIGJhY2tncm91bmQ6ICNiMDFmMjM7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgI2IwMWYyMztcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuXG4uYnMtYnRuLmJzLWJ0bi1yZWQ6aG92ZXIsXG4uYnMtYnRuLmJzLWJ0bi1yZWQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwMDAwMDA7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuLmJzLWJ0bi5icy1idG4tYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMyMjcyQjQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuLmJzLWJ0bi5icy1idG4tYmx1ZTpob3Zlcixcbi5icy1idG4uYnMtYnRuLWJsdWU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzAwMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbi5icy1idG4uYnMtYnRuLWNsZWFyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuXG4uYnMtYnRuLmJzLWJ0bi1jbGVhcjpob3Zlcixcbi5icy1idG4uYnMtYnRuLWNsZWFyOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuXG4uYnMtYnRuLmJzLWJ0bi1ibGFjayB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmJzLWJ0bi5icy1idG4tYmxhY2s6aG92ZXIsXG4uYnMtYnRuLmJzLWJ0bi1ibGFjazpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmJzLWJ0bjpob3Zlcixcbi5icy1idG46Zm9jdXMsXG4uZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbjpob3Zlcixcbi5nZm9ybV9mb290ZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uOmZvY3VzLFxuI3Jlc3BvbmQgLmJ1dHRvbjpob3ZlcixcbiNyZXNwb25kIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwMDAwMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgIWltcG9ydGFudDsgfVxuXG4uYnMtYnRucy13cmFwcGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuYnMtYnRucy13cmFwcGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuYnMtYnRucy13cmFwcGVyIC5icy1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMC42MjVyZW0gMC42MjVyZW0gMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgICAuYnMtYnRucy13cmFwcGVyIC5icy1idG4ge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAuMzEyNXJlbSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuaW1nLmxhenlsb2FkIHtcbiAgbWluLWhlaWdodDogMTIuNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuaW1nLmxhenlsb2FkZWQge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tYXgtd2lkdGgtc2l4dGVlbi1odW5kcmVkIHtcbiAgbWF4LXdpZHRoOiAxMDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm1heC13aWR0aC1mb3VydGVlbi1odW5kcmVkIHtcbiAgbWF4LXdpZHRoOiA4Ny41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tYXgtd2lkdGgtdHdlbHZlLWVpZ2h0eSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDgwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubWF4LXdpZHRoLXR3ZWx2ZS1odW5kcmVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tYXgtd2lkdGgtZWxldmVuLWZpZnR5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzEuODc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubWF4LXdpZHRoLXRlbi10d2VudHlmb3VyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjRyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tYXgtd2lkdGgtbmluZS1zZXZlbnR5IHtcbiAgbWF4LXdpZHRoOiA2MC42MjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm1heC13aWR0aC1laWdodC10aGlydHkge1xuICBtYXgtd2lkdGg6IDUxLjg3NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubWF4LXdpZHRoLWVpZ2h0LWh1bmRyZWQge1xuICBtYXgtd2lkdGg6IDUwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbnVsLnNsaWNrLWRvdHMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAzLjEyNXZ3IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIHVsLnNsaWNrLWRvdHMgbGkge1xuICAgIGJhY2tncm91bmQ6ICNENUNEQjc7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS4wNjI1cmVtO1xuICAgIG1hcmdpbjogMCAwLjY4NzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIHdpZHRoOiAxLjA2MjVyZW07XG4gICAgei1pbmRleDogMTAwOyB9XG4gICAgdWwuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI0ZEQzAwMDsgfVxuXG5idXR0b24uc2xpY2stYXJyb3cge1xuICBib3R0b206IC0wLjQzNzVyZW07XG4gIGNvbG9yOiAjMjI3MkI0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygzLjEyNXZ3ICogMyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgYnV0dG9uLnNsaWNrLWFycm93LnNsaWNrLW5leHQge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMy4xMjV2dyAqIDMpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBidXR0b24uc2xpY2stYXJyb3cuc2xpY2stZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogLjI1OyB9XG5cbi5lbnRyeS1jb250ZW50IGgyLCAuZW50cnktY29udGVudCBoMywgLmVudHJ5LWNvbnRlbnQgaDQsIC5lbnRyeS1jb250ZW50IGg1LCAuZW50cnktY29udGVudCBoNiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLmVudHJ5LWNvbnRlbnQgaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5lbnRyeS1jb250ZW50IGgyICsgaDMsIC5lbnRyeS1jb250ZW50IGgzICsgaDQsIC5lbnRyeS1jb250ZW50IGg0ICsgaDUsIC5lbnRyeS1jb250ZW50IGg1ICsgaDYge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5lbnRyeS1jb250ZW50IGJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwOyB9XG4gIC5lbnRyeS1jb250ZW50IGJsb2NrcXVvdGUgcCB7XG4gICAgY29sb3I6ICMwMDM1NjUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IGNhbGMoMS41cmVtICsgMC42ODc1ICogKCAoMTAwdncgLSAzMHJlbSkgLyA1Ny41KSkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICAuZW50cnktY29udGVudCBibG9ja3F1b3RlIHAge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41cmVtKSB7XG4gICAgICAuZW50cnktY29udGVudCBibG9ja3F1b3RlIHAge1xuICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAuZW50cnktY29udGVudCBibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uZW50cnktY29udGVudCBmaWd1cmUud3AtY2FwdGlvbiBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5lbnRyeS1jb250ZW50IHVsLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbi5lbnRyeS1jb250ZW50IHVsLnJvdyBsaS5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5lbnRyeS1jb250ZW50IHVsLnJvdyAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uZW50cnktY29udGVudCB1bC5yb3cgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbi5lbnRyeS1jb250ZW50IG9sLnJvdyAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uZW50cnktY29udGVudCBvbC5yb3cgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5lbnRyeS1jb250ZW50IHAgKyB1bCwgLmVudHJ5LWNvbnRlbnQgcCArIG9sIHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTsgfVxuXG4uZW50cnktY29udGVudCAuYWxpZ253aWRlIHtcbiAgbWFyZ2luLWxlZnQ6IC01cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC01cmVtOyB9XG5cbi5lbnRyeS1jb250ZW50IGRpdi5hbGlnbmZ1bGwsIC5lbnRyeS1jb250ZW50IHNlY3Rpb24uYWxpZ25mdWxsLCAuZW50cnktY29udGVudCBhcnRpY2xlLmFsaWduZnVsbCwgLmVudHJ5LWNvbnRlbnQgaGVhZGVyLmFsaWduZnVsbCwgLmVudHJ5LWNvbnRlbnQgbWFpbi5hbGlnbmZ1bGwsIC5lbnRyeS1jb250ZW50IGZvb3Rlci5hbGlnbmZ1bGwsIC5lbnRyeS1jb250ZW50IGFzaWRlLmFsaWduZnVsbCwgLmVudHJ5LWNvbnRlbnQgbmF2LmFsaWduZnVsbCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0xMDB2dyAvIDIgKyAxMDAlIC8gMik7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMTAwdncgLyAyICsgMTAwJSAvIDIpO1xuICBtYXgtd2lkdGg6IDEwMHZ3OyB9XG5cbi5lbnRyeS1jb250ZW50IC5hbGlnbmZ1bGwgaW1nLCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25mdWxsIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmVudHJ5LWNvbnRlbnQgLmlubmVyLXdpZHRoLXNpeHRlZW4taHVuZHJlZCA+IFtjbGFzcyo9XCJfX2lubmVyLXdyYXBcIl0ge1xuICBtYXgtd2lkdGg6IDEwMHJlbTsgfVxuXG4uZW50cnktY29udGVudCAuaW5uZXItd2lkdGgtZm91cnRlZW4taHVuZHJlZCA+IFtjbGFzcyo9XCJfX2lubmVyLXdyYXBcIl0ge1xuICBtYXgtd2lkdGg6IDg3LjVyZW07IH1cblxuLmVudHJ5LWNvbnRlbnQgLmlubmVyLXdpZHRoLXR3ZWx2ZS1odW5kcmVkID4gW2NsYXNzKj1cIl9faW5uZXItd3JhcFwiXSB7XG4gIG1heC13aWR0aDogNzVyZW07IH1cblxuLmVudHJ5LWNvbnRlbnQgLmlubmVyLXdpZHRoLWVsZXZlbi1zZXZlbnR5ID4gW2NsYXNzKj1cIl9faW5uZXItd3JhcFwiXSB7XG4gIG1heC13aWR0aDogNzMuMTI1cmVtOyB9XG5cbi5lbnRyeS1jb250ZW50IC5pbm5lci13aWR0aC1laWdodC1mb3J0eSA+IFtjbGFzcyo9XCJfX2lubmVyLXdyYXBcIl0ge1xuICBtYXgtd2lkdGg6IDUyLjVyZW07IH1cblxuLnJlYWRhYmxlLWxpbmUtbGVuZ3RoIHtcbiAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnRleHQtYWxpZ24tY2VudGVyLCAudGV4dC1hbGlnbi1jZW50ZXIgKiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucmVhZGFibGUtbGluZS1sZW5ndGgudGV4dC1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDAuNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnRvb2x0aXAudG9wOmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjI3MkI0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvb2x0aXAuYm90dG9tOmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjI3MkI0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvb2x0aXAubGVmdDpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDsgfVxuICAudG9vbHRpcC5yaWdodDpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMjI3MkI0ICFpbXBvcnRhbnQ7IH1cblxuLyogRGVmYXVsdCBQYWdlIFN0eWxlcyAqL1xuLm1haW4td3JhcCAubWFpbi1jb250ZW50IHtcbiAgbWFyZ2luOiAwIDEuNTYyNXJlbTsgfVxuICAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQge1xuICAgICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSkgIWltcG9ydGFudDsgfSB9XG5cbmJvZHk6bm90KC5ob21lKSAubWFpbi13cmFwIHtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICBib2R5Om5vdCguaG9tZSkgLm1haW4td3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfSB9XG5cbi8qIENvcHlyaWdodCBTdHlsZXMgKi9cbiNjb3B5cmlnaHQge1xuICBwYWRkaW5nOiAwIDEuNTYyNXJlbSAxLjU2MjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAjY29weXJpZ2h0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAjY29weXJpZ2h0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI2NvcHlyaWdodCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICNjb3B5cmlnaHQgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAjY29weXJpZ2h0IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgd2lkdGg6IDIuMjVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgI2NvcHlyaWdodCAuc21hbGwtMTIubWVkaXVtLTEyLmxhcmdlLTcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgICNjb3B5cmlnaHQgLnNtYWxsLTEyLm1lZGl1bS0xMi5sYXJnZS03IHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4jYmFjay10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMC45Mzc1cmVtO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwOyB9XG4gICNiYWNrLXRvcCBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICBvcGFjaXR5OiAuNzU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyLjgxMjVyZW07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgICNiYWNrLXRvcCBhOmhvdmVyLCAjYmFjay10b3AgYTpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICNiYWNrLXRvcC5iYWNrdG9wLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgI2JhY2stdG9wLmJhY2t0b3AtcmlnaHQgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtIDAgMCAwLjI1cmVtOyB9XG4gICNiYWNrLXRvcC5iYWNrdG9wLWxlZnQge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgICAjYmFjay10b3AuYmFja3RvcC1sZWZ0IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMDsgfVxuICAjYmFjay10b3AuYmFja3RvcC1jZW50ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgI2JhY2stdG9wLmJhY2t0b3AtY2VudGVyIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwLjI1cmVtIDAgMDtcbiAgICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH1cblxuLyoqKiogMy4gSEVBREVSIFNUWUxFUyAqKioqL1xuaGVhZGVyI21hc3RoZWFkIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZzogMy4xMjVyZW0gMCAwLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTsgfVxuICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgI2hlYWRlci1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIGhlYWRlciNtYXN0aGVhZCAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9IH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXRvcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci10b3AgLnRvcC1iYXItdGl0bGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAycmVtIDA7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgICAgIHotaW5kZXg6IDk5OyB9XG4gICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7IH1cbiAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgICAgICByaWdodDogLTAuNTYyNXJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvOyB9IH1cbiAgICAgICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87IH0gfVxuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkudGVsZXBob25lIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS50ZWxlcGhvbmUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLnRlbGVwaG9uZSBhIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDYuMjVyZW07XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxcmVtICsgMC4xMjUgKiAoICgxMDB2dyAtIDMwcmVtKSAvIDU3LjUpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zNzVyZW07XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMS4xMjVyZW0gMy43NXJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMHJlbSkge1xuICAgICAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNXJlbSkge1xuICAgICAgICAgICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSxcbiAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtLFxuICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjQ1cyBlYXNlLWluLW91dCAwLjE1cztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNDVzIGVhc2UtaW4tb3V0IDAuMTVzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjQ1cyBlYXNlLWluLW91dCAwLjE1cztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjQ1cyBlYXNlLWluLW91dCAwLjE1czsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0sXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0sXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87IH0gfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93LFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93LFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybS5zaG93IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB3aWR0aDogY2FsYygzLjEyNXZ3ICogOCkgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogOTk7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtOmFmdGVyLFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gLmlucHV0LWdyb3VwLFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSAuaW5wdXQtZ3JvdXAsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIC5pbnB1dC1ncm91cCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzLFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzLFxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMzEyNXJlbTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQsXG4gICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdCxcbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjc2VhcmNoc3VibWl0IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDMuNzVyZW07XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQ6aG92ZXIsIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjc2VhcmNoc3VibWl0OmZvY3VzLFxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdDpob3ZlcixcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQ6Zm9jdXMsXG4gICAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjc2VhcmNoc3VibWl0OmhvdmVyLFxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3NlYXJjaHN1Ym1pdDpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBtYXJnaW46IDAuNzVyZW0gMCAwIDA7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhciAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubG9nby13cmFwcGVyLmhpZGUtZm9yLXNtYWxsLW9ubHkgLmN1c3RvbS1sb2dvLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IC5jdXN0b20tbG9nby1saW5rIGltZy5jdXN0b20tbG9nbyxcbiAgICBoZWFkZXIjbWFzdGhlYWQgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IC5jdXN0b20tbG9nby1saW5rIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDYuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDAuOTM3NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgaSxcbiAgICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZCAuYWx0LW5hdi13cmFwcGVyIC5hbHQtbmF2LW15LWNhcnQgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgY29sb3I6ICMyMjcyQjQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjMxMjVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgLmFsdC1uYXYtd3JhcHBlciAubWVudSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIC5hbHQtbmF2LXdyYXBwZXIgLm1lbnUgPiBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBib3JkZXItbGVmdDogMC4wNjI1cmVtIHNvbGlkICM2NjY2NjY7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgLmFsdC1uYXYtd3JhcHBlciAubWVudSA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgICAgaGVhZGVyI21hc3RoZWFkIC5hbHQtbmF2LXdyYXBwZXIgLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgLmFsdC1uYXYtd3JhcHBlciAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGhlYWRlciNtYXN0aGVhZCAuZGVza3RvcC1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAuZGVza3RvcC1tZW51Lm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5kZXNrdG9wLW1lbnUubWVudSA+IGxpID4gYSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkIC5kZXNrdG9wLW1lbnUubWVudSA+IGxpID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogJycgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgLmRlc2t0b3AtbWVudS5tZW51ID4gbGkgPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLmRlc2t0b3AtbWVudS5tZW51ID4gbGk6bGFzdC1vZi10eXBlIHVsLmRyb3Bkb3duIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51ID4gbGkgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSAuZHJvcGRvd24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAycmVtIC0wLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDEyLjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWFyZ2luLXRvcDogMS42MjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDAuMjVzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDAuMjVzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMC4yNXM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDAuMjVzOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSAuZHJvcGRvd24gbGkge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgLmRyb3Bkb3duIGxpIGEge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxcmVtICsgMC4xMjUgKiAoICgxMDB2dyAtIDMwcmVtKSAvIDU3LjUpKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMS41NjI1cmVtIDEuMTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgLmRyb3Bkb3duIGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNXJlbSkge1xuICAgICAgaGVhZGVyI21hc3RoZWFkIC5tZW51IC5kcm9wZG93biBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgLmRyb3Bkb3duIGxpIGE6aG92ZXIsIGhlYWRlciNtYXN0aGVhZCAubWVudSAuZHJvcGRvd24gbGkgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjI3MkI0ICFpbXBvcnRhbnQ7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51IC5kcm9wZG93biBsaSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51IC5kcm9wZG93biBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBoZWFkZXIjbWFzdGhlYWQgLm1lbnUgLmRyb3Bkb3duIGxpOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpLmlzLWFjdGl2ZTpob3ZlciAuZHJvcGRvd24sXG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpLmlzLWFjdGl2ZTpmb2N1cyAuZHJvcGRvd24sXG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpOmZvY3VzLXdpdGhpbiAuZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXJnaW4tdG9wOiAwLjM3NXJlbTtcbiAgICB6LWluZGV4OiAxO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDBzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDBzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMHM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDBzOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51ID4gbGkub3BlbnMtbGVmdDpsYXN0LWNoaWxkID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIGhlYWRlciNtYXN0aGVhZCAubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi50b3AtYmFyLmhhcy1zZWFyY2ggLmRlc2t0b3AtbWVudSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLyogM2EuIEhlYWRlciBPcHRpb24gT25lIFN0eWxlcyAqL1xuaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIHtcbiAgcGFkZGluZzogMS41NjI1cmVtIDAgMC4zNzVyZW07IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAyMi41cmVtOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCAudG9wLWJhci10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgLmxvZ28td3JhcHBlci5oaWRlLWZvci1zbWFsbC1vbmx5IC5jdXN0b20tbG9nby1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAuNjI1cmVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIyLjVyZW0pOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLmFsdC1uYXYtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5hbHQtbmF2LXdyYXBwZXIgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAudG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwge1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5kZXNrdG9wLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBvcmRlcjogMzsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLmRlc2t0b3AtbWVudSA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygzLjEyNXZ3ICogMS42NSk7IH1cbiAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLmRlc2t0b3AtbWVudSA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyLFxuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0sXG4gICAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciB1bC5tZW51IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIHVsLm1lbnUgbGkuY3VycmVudF9wYWdlX3BhcmVudCA+IGEge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzIyNzJCNCAhaW1wb3J0YW50OyB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciB1bC5tZW51IGxpLmN1cnJlbnQtbWVudS1pdGVtLmlzLXN1Ym1lbnUtaXRlbSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMyMjcyQjQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMy43NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDIuMjVyZW07IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgbmF2LnRvcC1iYXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIgYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAubWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0uc2hvdyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC5pbmxpbmUtc29jaWFsLXNlYXJjaC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmxvZ28td3JhcHBlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgLmxvZ28td3JhcHBlciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5hbHQtbmF2LXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCAuYWx0LW5hdi13cmFwcGVyIHVsLm1lbnUge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCA+IC5kcm9wZG93bi5tZW51LmRlc2t0b3AtbWVudSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgIGxlZnQ6IGF1dG87IH1cbiAgICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSBuYXYudG9wLWJhciAudG9wLWJhci1yaWdodCBmb3JtI3NlYXJjaGZvcm0uc2hvdyB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAgIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSAubG9nby13cmFwcGVyLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgaGVhZGVyI21hc3RoZWFkLmhlYWRlci1vcHRpb24tb25lIC50b3AtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qIDNiLiBIZWFkZXIgT3B0aW9uIFR3byBTdHlsZXMgKi9cbi8qIDNjLiBIZWFkZXIgT3B0aW9uIFRocmVlIFN0eWxlcyAqL1xuLyogM2QuIEhlYWRlciBPcHRpb24gRm91ciBTdHlsZXMgKi9cbi8qIDNlLiBNb2JpbGUgT2ZmLUNhbnZhcyBNZW51IFN0eWxlcyAqL1xuLnRpdGxlLWJhci1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC50aXRsZS1iYXItbGVmdCAudGl0bGUtYmFyLXRpdGxlIGEuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNS42MjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnRpdGxlLWJhci1sZWZ0IC50aXRsZS1iYXItdGl0bGUgYS5jdXN0b20tbG9nby1saW5rIGltZyxcbiAgICAudGl0bGUtYmFyLWxlZnQgLnRpdGxlLWJhci10aXRsZSBhLmN1c3RvbS1sb2dvLWxpbmsgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAudGl0bGUtYmFyLWxlZnQgLnRpdGxlLWJhci10aXRsZSBhLmN1c3RvbS1sb2dvLWxpbmsgaW1nLFxuICAgICAgICAudGl0bGUtYmFyLWxlZnQgLnRpdGxlLWJhci10aXRsZSBhLmN1c3RvbS1sb2dvLWxpbmsgc3ZnIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEyLjVyZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgYm9keTpub3QoLnRvcGJhcikgbmF2LnNpdGUtbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIGJvZHkudG9wYmFyIGhlYWRlcjpub3QoLmhlYWRlci1vcHRpb24tb25lKSBuYXYuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLXJpZ2h0LFxuICBib2R5LnRvcGJhciBoZWFkZXI6bm90KC5oZWFkZXItb3B0aW9uLW9uZSkgbmF2LnNpdGUtbmF2aWdhdGlvbiAudG9wLWJhci10b3AsXG4gIGJvZHkudG9wYmFyIGhlYWRlcjpub3QoLmhlYWRlci1vcHRpb24tb25lKSBuYXYuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWJvdHRvbSAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi5zaXRlLW5hdmlnYXRpb24gLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbmh0bWwgbmF2Lm9mZi1jYW52YXMge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYmFja2dyb3VuZDogcmdiYSg5MCwgMTc3LCAyMjQsIDAuOTUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAxLjU2MjVyZW0gMS41NjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQgMHM7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dCAwcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQgMHM7IH1cbiAgaHRtbCBuYXYub2ZmLWNhbnZhcyA+IHVsLm1lbnUge1xuICAgIG1heC13aWR0aDogMzByZW07XG4gICAgbWFyZ2luOiAzMHZ3IGF1dG8gMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMC4xNXM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMC4xNXM7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAwLjE1cztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMC4xNXM7IH1cbiAgaHRtbCBuYXYub2ZmLWNhbnZhcyB1bC5tZW51IGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQgPiBhLFxuICBodG1sIG5hdi5vZmYtY2FudmFzIHVsLm1lbnUgbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuICBodG1sIG5hdi5vZmYtY2FudmFzIHVsLm1lbnUgbGkuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0ZXh0LXNoYWRvdzogMCAwLjI1cmVtIDAuNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICBodG1sIG5hdi5vZmYtY2FudmFzIGEuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIGh0bWwgbmF2Lm9mZi1jYW52YXMgYS5jdXN0b20tbG9nby1saW5rIGltZy5jdXN0b20tbG9nbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMC42MjVyZW0gYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gIGh0bWwgbmF2Lm9mZi1jYW52YXMgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDAuMTVzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDAuMTVzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMC4xNXM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0IDAuMTVzOyB9XG4gIGh0bWwgbmF2Lm9mZi1jYW52YXMgLm1lbnU6bm90KC5uZXN0ZWQpID4gbGkge1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDsgfVxuICAgIGh0bWwgbmF2Lm9mZi1jYW52YXMgLm1lbnU6bm90KC5uZXN0ZWQpID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMCAwOyB9XG4gIGh0bWwgbmF2Lm9mZi1jYW52YXMgLm1lbnU6bm90KC5uZXN0ZWQpID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwIDAgMC44NzVyZW0gMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGh0bWwgbmF2Lm9mZi1jYW52YXMgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIGh0bWwgbmF2Lm9mZi1jYW52YXMgLm1lbnUubmVzdGVkID4gbGkgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgaHRtbCBuYXYub2ZmLWNhbnZhcyAuc3VibWVudS10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6ICNGREMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHRvcDogLTAuMTI1cmVtOyB9XG4gICAgaHRtbCBuYXYub2ZmLWNhbnZhcyAuc3VibWVudS10b2dnbGU6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwNzgnO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCIsIFwiZm9udGF3ZXNvbWVcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMi41NjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNTYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gIGh0bWwgbmF2Lm9mZi1jYW52YXMgdWwubWVudS5hbHQtbWVudSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBodG1sIG5hdi5vZmYtY2FudmFzID4gLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhLFxuICBodG1sIG5hdi5vZmYtY2FudmFzIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGh0bWwgbmF2Lm9mZi1jYW52YXMgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGE6aG92ZXIsIGh0bWwgbmF2Lm9mZi1jYW52YXMgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGE6Zm9jdXMsXG4gICAgaHRtbCBuYXYub2ZmLWNhbnZhcyAuc3VibWVudSBsaS5pcy1hY3RpdmUgYTpob3ZlcixcbiAgICBodG1sIG5hdi5vZmYtY2FudmFzIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGh0bWwgbmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogMzByZW07XG4gICAgbWFyZ2luOiAyLjVyZW0gYXV0byAwLjkzNzVyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMC4xNXM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMC4xNXM7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAwLjE1cztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMC4xNXM7IH1cbiAgICBodG1sIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAyLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNzVyZW07XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgaHRtbCBuYXYub2ZmLWNhbnZhcyB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNi4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgaHRtbCBuYXYub2ZmLWNhbnZhcyB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgaHRtbCBuYXYub2ZmLWNhbnZhcyB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBodG1sIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICBodG1sIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24udG9wLWJhci1teS1jYXJ0IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW07IH1cbiAgICBodG1sIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24udG9wLWJhci1teS1jYXJ0IGkge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07IH1cbiAgICBodG1sIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24udG9wLWJhci1teS1jYXJ0IHNwYW4uY2FydC1jb250ZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGNvbG9yOiAjMjI3MkI0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAwIDAuMzEyNXJlbTtcbiAgICAgIG1pbi13aWR0aDogMS4yNXJlbTsgfVxuICAgIGh0bWwgbmF2Lm9mZi1jYW52YXMgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIGh0bWwgbmF2Lm9mZi1jYW52YXMgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgaHRtbCBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IGEge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICNiMDFmMjM7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgIG1hcmdpbjogMC45Mzc1cmVtIGF1dG8gMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDAuNjI1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgICAgaHRtbCBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IGE6aG92ZXIsIGh0bWwgbmF2Lm9mZi1jYW52YXMgLmFsdC1uYXYtbXktY2FydCBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzIyNzJCNDsgfVxuICAgIGh0bWwgbmF2Lm9mZi1jYW52YXMgLmFsdC1uYXYtbXktY2FydCBpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtOyB9XG4gICAgaHRtbCBuYXYub2ZmLWNhbnZhcyAuYWx0LW5hdi1teS1jYXJ0IHNwYW4uY2FydC1jb250ZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGNvbG9yOiAjMjI3MkI0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAwIDAuMzEyNXJlbTtcbiAgICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBodG1sIG5hdi5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC43NXMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC43NXMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjc1cyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC43NXMgZWFzZS1vdXQgMHM7IH1cbiAgICBodG1sIG5hdi5vZmYtY2FudmFzLmlzLW9wZW4gPiB1bC5tZW51IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBtYXJnaW46IDEwdncgYXV0byAwO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1vdXQgMC40cztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2Utb3V0IDAuNHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2Utb3V0IDAuNHM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1vdXQgMC40czsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGh0bWwgbmF2Lm9mZi1jYW52YXMuaXMtb3BlbiA+IHVsLm1lbnUge1xuICAgICAgICAgIG1hcmdpbjogNXZ3IGF1dG8gMDsgfSB9XG4gICAgaHRtbCBuYXYub2ZmLWNhbnZhcy5pcy1vcGVuIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSBhdXRvIDAuOTM3NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLW91dCAwLjY1cztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2Utb3V0IDAuNjVzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLW91dCAwLjY1cztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLW91dCAwLjY1czsgfVxuICAgIGh0bWwgbmF2Lm9mZi1jYW52YXMuaXMtb3BlbiBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2Utb3V0IDAuOXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLW91dCAwLjlzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLW91dCAwLjlzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2Utb3V0IDAuOXM7IH1cblxuLyogM2YuIE1vYmlsZSBUb3AgQmFyIE1lbnUgU3R5bGVzICovXG5ib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAuc3VibWVudS10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6ICNiMDFmMjM7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgaGVpZ2h0OiAyLjUyMzc1cmVtOyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5zdWJtZW51LXRvZ2dsZTphZnRlciB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjRkZGRkZGOyB9XG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSA+IHVsLm1lbnUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLm1lbnUuYWx0LW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMTAgIWltcG9ydGFudDsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5tZW51LmFsdC1tZW51IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAubWVudTpub3QoLm5lc3RlZCkgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAubWVudS5uZXN0ZWQgPiBsaSA+IGEge1xuICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51ID4gLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhLFxuICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgLnN1Ym1lbnUgbGkuaXMtYWN0aXZlIGEge1xuICAgIGNvbG9yOiAjYjAxZjIzOyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51ID4gLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhOmhvdmVyLCBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGE6Zm9jdXMsXG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5zdWJtZW51IGxpLmlzLWFjdGl2ZSBhOmhvdmVyLFxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAuc3VibWVudSBsaS5pcy1hY3RpdmUgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2IwMWYyMzsgfVxuICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkgYSwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGksIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBzcGFuW2NsYXNzKj1cImZhLVwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGk6bm90KC5jdXN0b20tYnV0dG9uKTphZnRlciB7XG4gICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYTpob3ZlciwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24udG9wLWJhci1teS1jYXJ0IGksIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uLnRvcC1iYXItbXktY2FydCBzcGFuW2NsYXNzKj1cImZhLVwiXSxcbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbi5hbHQtbmF2LW15LWNhcnQgaSxcbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbi5hbHQtbmF2LW15LWNhcnQgc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbi50b3AtYmFyLW15LWNhcnQgc3Bhbi5jYXJ0LWNvbnRlbnRzLFxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uLmFsdC1uYXYtbXktY2FydCBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBjb2xvcjogIzIyNzJCNDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjMxMjVyZW07XG4gICAgICBtaW4td2lkdGg6IDEuMjVyZW07IH1cbiAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkgYSwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEgaSwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEgc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkgYTpob3ZlciwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGE6Zm9jdXMsIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhIGk6aG92ZXIsIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhIGk6Zm9jdXMsIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhIHNwYW5bY2xhc3MqPVwiZmEtXCJdOmhvdmVyLCBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkgYSBzcGFuW2NsYXNzKj1cImZhLVwiXTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhIHNwYW5bY2xhc3MqPVwiZmEtXCJdIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsgfVxuICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uIGEge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICBib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5hbHQtbmF2LW15LWNhcnQgYSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogI2IwMWYyMztcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJydWJpa1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAuNDM3NXJlbSAwIDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAuYWx0LW5hdi1teS1jYXJ0IGE6aG92ZXIsIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSAuYWx0LW5hdi1teS1jYXJ0IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjI3MkI0OyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5hbHQtbmF2LW15LWNhcnQgaSwgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5hbHQtbmF2LW15LWNhcnQgc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtOyB9XG4gICAgYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudS5tb2JpbGUtbWVudS52ZXJ0aWNhbC5tZW51IC5hbHQtbmF2LW15LWNhcnQgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgY29sb3I6ICMyMjcyQjQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAgMC4zMTI1cmVtO1xuICAgICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhciBuYXYjbW9iaWxlLW1lbnUubW9iaWxlLW1lbnUudmVydGljYWwubWVudSBmb3JtI3NlYXJjaGZvcm0ge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLyogM2cuIFN0aWNreSBIZWFkZXIgU3R5bGVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVyZW0pIHtcbiAgI21hc3RoZWFkIHtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG4gIGJvZHkuc3RpY2t5LXByZXAgI21hc3RoZWFkLnN0aWNreS1oZWFkZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gIGJvZHkuYWRtaW4tYmFyLnN0aWNreS1wcmVwICNtYXN0aGVhZC5zdGlja3ktaGVhZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gIGJvZHkuc3RpY2t5LWhlYWRlci5zdGlja3ktcHJlcCAjbWFzdGhlYWQuc3RpY2t5LWhlYWRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcywgb3BhY2l0eSAxczsgfVxuICBib2R5LmFkbWluLWJhci5zdGlja3ktaGVhZGVyLnN0aWNreS1wcmVwICNtYXN0aGVhZC5zdGlja3ktaGVhZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogMnJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzLCBvcGFjaXR5IDFzOyB9IH1cblxuLyogM2guIEhlYWRlciBPdmVycmlkZXMgKi9cbi50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCBsaS5jdXN0b20tYnV0dG9uIGEge1xuICBmb250LXNpemU6IDAuOTM3NXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIGxpLmN1c3RvbS1idXR0b24udG9wLWJhci1teS1jYXJ0IGksIC50b3AtYmFyIC50b3AtYmFyLXNvY2lhbCBsaS5jdXN0b20tYnV0dG9uLnRvcC1iYXItbXktY2FydCBzcGFuW2NsYXNzKj0nZmEtJ10ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4xMjVyZW07IH1cblxuLnRvcC1iYXIgLnRvcC1iYXItc29jaWFsIGxpLmN1c3RvbS1idXR0b24udG9wLWJhci1teS1jYXJ0IHNwYW4uY2FydC1jb250ZW50cyB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbjogMCAwIDAgMC4zMTI1cmVtO1xuICBtaW4td2lkdGg6IDEuMjVyZW07IH1cblxuLnRvcC1iYXIgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi8qKioqIDQuIEhPTUUgUEFHRSBTVFlMRVMgKioqKi9cbi5ob21lLWhlcm8td3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmhvbWUtaGVyby13cmFwcGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgd2hpdGUgMCUsIHJnYmEoMTE4LCAxOTIsIDIzMiwgMC40OSkgNTAlLCByZ2JhKDM0LCAxMTQsIDE4MCwgMC43MykgMTAwJSk7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogLjg1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhvbWUtaGVyby13cmFwcGVyIC5ob21lLWhlcm8tY2FwdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNjRyZW07XG4gICAgcGFkZGluZzogNXZ3IDEuNTYyNXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ob21lLWhlcm8td3JhcHBlciAuaG9tZS1oZXJvLWNhcHRpb24gaDIge1xuICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygycmVtICsgMS40Mzc1ICogKCAoMTAwdncgLSAzMHJlbSkgLyA1Ny41KSkgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMHJlbSkge1xuICAgICAgICAuaG9tZS1oZXJvLXdyYXBwZXIgLmhvbWUtaGVyby1jYXB0aW9uIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41cmVtKSB7XG4gICAgICAgIC5ob21lLWhlcm8td3JhcHBlciAuaG9tZS1oZXJvLWNhcHRpb24gaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5ob21lLWhlcm8td3JhcHBlciAuaG9tZS1oZXJvLWNhcHRpb24gcCB7XG4gICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICBmb250LXNpemU6IGNhbGMoMS4xMjVyZW0gKyAwLjM3NSAqICggKDEwMHZ3IC0gMzByZW0pIC8gNTcuNSkpICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICAgIC5ob21lLWhlcm8td3JhcHBlciAuaG9tZS1oZXJvLWNhcHRpb24gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVyZW0pIHtcbiAgICAgICAgLmhvbWUtaGVyby13cmFwcGVyIC5ob21lLWhlcm8tY2FwdGlvbiBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5ob21lLWhlcm8td3JhcHBlciAuaG9tZS1oZXJvLWNhcHRpb24gcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmhvbWUtaGVyby13cmFwcGVyIC5ob21lLWhlcm8tY2FwdGlvbiAuYnMtYnRuOmhvdmVyLCAuaG9tZS1oZXJvLXdyYXBwZXIgLmhvbWUtaGVyby1jYXB0aW9uIC5icy1idG46Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI0ZEQzAwMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkRDMDAwO1xuICAgICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuXG4uaG9tZSAubWFpbi13cmFwLmZ1bGwtd2lkdGgge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmhvbWUgLm1haW4td3JhcC5mdWxsLXdpZHRoIC5tYWluLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAuaG9tZSAubWFpbi13cmFwLmZ1bGwtd2lkdGggLm1haW4tY29udGVudCAuZW50cnktY29udGVudCBoMiB7XG4gICAgICBmb250LXNpemU6IGNhbGMoMnJlbSArIDEuNDM3NSAqICggKDEwMHZ3IC0gMzByZW0pIC8gNTcuNSkpICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICAgIC5ob21lIC5tYWluLXdyYXAuZnVsbC13aWR0aCAubWFpbi1jb250ZW50IC5lbnRyeS1jb250ZW50IGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41cmVtKSB7XG4gICAgICAgIC5ob21lIC5tYWluLXdyYXAuZnVsbC13aWR0aCAubWFpbi1jb250ZW50IC5lbnRyeS1jb250ZW50IGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuNDM3NXJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIC5ob21lIC5tYWluLXdyYXAgLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tYWluLXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qKioqIDUuIElOVEVSTkFMIFBBR0UgU1RZTEVTICoqKiovXG4vKiA1YS4gQnJlYWRjcnVtYnMgU3R5bGVzICovXG4uYnJlYWRjcnVtYnMtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gIC5icmVhZGNydW1icy13cmFwcGVyICNicmVhZGNydW1icyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDFyZW0gMDsgfVxuICAgIC5icmVhZGNydW1icy13cmFwcGVyICNicmVhZGNydW1icyBsaSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIC5icmVhZGNydW1icy13cmFwcGVyICNicmVhZGNydW1icyBsaTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5icmVhZGNydW1icy13cmFwcGVyICNicmVhZGNydW1icyBsaSBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmJyZWFkY3J1bWJzLXdyYXBwZXIgI2JyZWFkY3J1bWJzIGxpLnNlcGFyYXRvciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMCAwLjYyNXJlbTsgfVxuXG4vKiA1Yi4gUGFnZSBUaXRsZSBhbmQgVGl0bGUgQmFyIFN0eWxlcyAqL1xuaDEuZW50cnktdGl0bGUge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICBoMS5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuXG4uZmVhdHVyZWQtaGVyby10aXRsZS1iYXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxMTQsIDE4MCwgMC44Nik7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDAlLCByZ2JhKDM0LCAxMTQsIDE4MCwgMC44NikgMTAwJSk7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMC45MztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIGgxLmVudHJ5LXRpdGxlIHtcbiAgICBjb2xvcjogIzAwMjQ0NTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciBoMS5lbnRyeS10aXRsZSArIHAuc2VhcmNoLXF1ZXJ5IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIHRpbWUsXG4gIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciBwLmJ5bGluZS5hdXRob3IsXG4gIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciBwLmJzLXBvc3QtZGF0ZSxcbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIHAuYnMtcG9zdC1jYXRzLFxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgcC5icy1wb3N0LWNvbW1lbnRzLFxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgcC5zZWFyY2gtcXVlcnksXG4gIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciB1bCBsaSxcbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIHNwYW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIDAuMTI1cmVtIDAuMDYyNXJlbSAjMDAwMDAwO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgdWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAwIDAgMC43NXJlbTsgfVxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgLmJzLWVudHJ5LW1ldGEgcCBpLFxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgLmJzLWVudHJ5LW1ldGEgcCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxLjI1cmVtOyB9XG4gIC5mZWF0dXJlZC1oZXJvLXRpdGxlLWJhciAuYnMtZW50cnktbWV0YSBwLmJzLXBvc3QtZGF0ZSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIC5icy1lbnRyeS1tZXRhIHAuYnlsaW5lLmF1dGhvciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgLmJzLWVudHJ5LW1ldGEgcC5ieWxpbmUuYXV0aG9yIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgLmJzLWVudHJ5LW1ldGEgcC5icy1wb3N0LWNhdHMge1xuICAgIG9yZGVyOiAzOyB9XG4gICAgLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIC5icy1lbnRyeS1tZXRhIHAuYnMtcG9zdC1jYXRzIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZmVhdHVyZWQtaGVyby10aXRsZS1iYXIgLmJzLWVudHJ5LW1ldGEgcC5icy1wb3N0LWNvbW1lbnRzIHtcbiAgICBvcmRlcjogNDsgfVxuXG4vKiA1Yy4gRnVsbCBXaWR0aCBQYWdlIFRlbXBsYXRlIFN0eWxlcyAqL1xuLm1haW4td3JhcC5mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm1haW4td3JhcC5mdWxsLXdpZHRoIC5tYWluLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qIDVkLiBQb3N0IE5hdmlnYXRpb24gRm9vdGVyIFN0eWxlcyAqL1xuZm9vdGVyLnBvcnRmb2xpby1uYXZpZ2F0aW9uIG5hdi5uYXZpZ2F0aW9uLnBvc3QtbmF2aWdhdGlvbiB7XG4gIHBhZGRpbmc6IDAgMS41NjI1cmVtOyB9XG5cbmZvb3RlciBuYXYubmF2aWdhdGlvbi5wb3N0LW5hdmlnYXRpb24ge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiA1ZS4gTGVmdCBTaWRlYmFyIFBhZ2UgVGVtcGxhdGUgU3R5bGVzICovXG4vKiA1Zi4gU2lkZWJhciBTdHlsZXMgKi9cbmFzaWRlLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kOiAjRDVDREI3O1xuICBwYWRkaW5nOiAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBhc2lkZS5zaWRlYmFyIHtcbiAgICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pICFpbXBvcnRhbnQ7IH0gfVxuICBhc2lkZS5zaWRlYmFyLnBvcnRmb2xpby1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBhc2lkZS5zaWRlYmFyLnBvcnRmb2xpby1zaWRlYmFyIGltZy53cC1wb3N0LWltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgYXNpZGUuc2lkZWJhciAud2lkZ2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIGFzaWRlLnNpZGViYXIgLndpZGdldDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGFzaWRlLnNpZGViYXIgLndpZGdldCBoNiB7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgYXNpZGUuc2lkZWJhciAud2lkZ2V0IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIGFzaWRlLnNpZGViYXIgLndpZGdldCB1bCA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgYXNpZGUuc2lkZWJhciAud2lkZ2V0IHVsID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDgwMDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICBhc2lkZS5zaWRlYmFyIC53aWRnZXQgdWwgPiBsaTpsYXN0LWNoaWxkID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgYXNpZGUuc2lkZWJhciBsaS5yZWNlbnRjb21tZW50cyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIGFzaWRlLnNpZGViYXIgbGkucmVjZW50Y29tbWVudHMgc3Bhbi5jb21tZW50LWF1dGhvci1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgICBhc2lkZS5zaWRlYmFyIGxpLnJlY2VudGNvbW1lbnRzIGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cblxuLyogNWcuIFNvY2lhbCBTaGFyaW5nIFNob3J0Y29kZSBTdHlsZXMgKi9cbi5icy1zb2NpYWwtc2hhcmUtb3V0ZXIge1xuICBtYXJnaW46IDEuODc1cmVtIGF1dG8gMDtcbiAgbWF4LXdpZHRoOiA1MS44NzVyZW07XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG5cbi5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG8gMS44NzVyZW07XG4gIHdpZHRoOiBhdXRvOyB9XG4gIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtOyB9IH1cbiAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyIC5zaW5nbGUtc29jaWFsLXNoYXJlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMXJlbSk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMC4yNXJlbSk7IH0gfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZSBhIHNwYW5bY2xhc3MqPWZhLV0ge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyIC5zaW5nbGUtc29jaWFsLXNoYXJlLnNvY2lhbC1zaGFyZS10d2l0dGVyIGEgc3BhbltjbGFzcyo9ZmEtXSB7XG4gICAgICAgIGNvbG9yOiAjMDBhY2VkOyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyIC5zaW5nbGUtc29jaWFsLXNoYXJlLnNvY2lhbC1zaGFyZS1mYWNlYm9vayBhIHNwYW5bY2xhc3MqPWZhLV0ge1xuICAgICAgICBjb2xvcjogIzNiNTk5ODsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtZ29vZ2xlIGEgc3BhbltjbGFzcyo9ZmEtXSB7XG4gICAgICAgIGNvbG9yOiAjZGQ0YjM5OyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyIC5zaW5nbGUtc29jaWFsLXNoYXJlLnNvY2lhbC1zaGFyZS1saW5rZWRpbiBhIHNwYW5bY2xhc3MqPWZhLV0ge1xuICAgICAgICBjb2xvcjogIzAwN2JiNjsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtcGludGVyZXN0IGEgc3BhbltjbGFzcyo9ZmEtXSB7XG4gICAgICAgIGNvbG9yOiAjY2IyMDI3OyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyIC5zaW5nbGUtc29jaWFsLXNoYXJlOmhvdmVyIGEgc3BhbltjbGFzcyo9ZmEtXSwgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciAuc2luZ2xlLXNvY2lhbC1zaGFyZTpmb2N1cyBhIHNwYW5bY2xhc3MqPWZhLV0ge1xuICAgICAgICBjb2xvcjogIzIyNzJCNCAhaW1wb3J0YW50OyB9XG4gICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyLnNob3ctY291bnQgLnNpbmdsZS1zb2NpYWwtc2hhcmUgYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjVyZW0pOyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyLnNob3ctY291bnQgLnNpbmdsZS1zb2NpYWwtc2hhcmUgYSBzcGFuW2NsYXNzKj1mYS1dIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIuc2hvdy1jb3VudCAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtdHdpdHRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMGFjZWQ7IH1cbiAgICAgIC5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIC5icy1zb2NpYWwtc2hhcmUtaW5uZXIuc2hvdy1jb3VudCAuc2luZ2xlLXNvY2lhbC1zaGFyZS5zb2NpYWwtc2hhcmUtZmFjZWJvb2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjM2I1OTk4O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlLnNvY2lhbC1zaGFyZS1nb29nbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZGQ0YjM5O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlLnNvY2lhbC1zaGFyZS1saW5rZWRpbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDdiYjY7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyLnNob3ctY291bnQgLnNpbmdsZS1zb2NpYWwtc2hhcmUuc29jaWFsLXNoYXJlLXBpbnRlcmVzdCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjYjIwMjc7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyLnNob3ctY291bnQgLnNpbmdsZS1zb2NpYWwtc2hhcmUgc3Bhbjpub3QoLmZhYik6bm90KC5mYSk6bm90KC5mYXMpOm5vdCguZmFsKTpub3QoLmZhcikge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTsgfVxuICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlOmhvdmVyLCAuYnMtc29jaWFsLXNoYXJlLWNvbnRhaW5lciAuYnMtc29jaWFsLXNoYXJlLWlubmVyLnNob3ctY291bnQgLnNpbmdsZS1zb2NpYWwtc2hhcmU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjI3MkI0ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlOmhvdmVyIGEgc3BhbltjbGFzcyo9ZmEtXSwgLmJzLXNvY2lhbC1zaGFyZS1jb250YWluZXIgLmJzLXNvY2lhbC1zaGFyZS1pbm5lci5zaG93LWNvdW50IC5zaW5nbGUtc29jaWFsLXNoYXJlOmZvY3VzIGEgc3BhbltjbGFzcyo9ZmEtXSB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuXG4vKiA1aC4gR2FsbGVyeSBTaG9ydGNvZGUgU3R5bGVzICovXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9XG4gIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gLmdhbGxlcnktaWNvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSAuZ2FsbGVyeS1pY29uIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSAuZ2FsbGVyeS1pY29uIGEgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTE0LCAxODAsIDAuODUpO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtOmhvdmVyIC5nYWxsZXJ5LWljb24sIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW06Zm9jdXMgLmdhbGxlcnktaWNvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbTpob3ZlciAuZ2FsbGVyeS1pY29uIGEgaW1nLCAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtOmZvY3VzIC5nYWxsZXJ5LWljb24gYSBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbTpob3ZlciBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCwgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbTpmb2N1cyBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gLmdhbGxlcnktaWNvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSAuZ2FsbGVyeS1pY29uIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSAuZ2FsbGVyeS1pY29uIGEgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDExNCwgMTgwLCAwLjg1KTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbTpob3ZlciBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCwgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbTpmb2N1cyBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi8qIDVpLiBQYWdpbmF0aW9uIFN0eWxlcyAqL1xudWwucGFnaW5hdGlvbiB7XG4gIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MGVtKSB7XG4gICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgdWwucGFnaW5hdGlvbiBsaSwgdWwucGFnaW5hdGlvbiBsaSBzcGFuLCB1bC5wYWdpbmF0aW9uIGxpIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxLjg3NXJlbTsgfVxuICB1bC5wYWdpbmF0aW9uIGxpIHNwYW4uY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogI2IwMWYyMztcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gIHVsLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaSBhOmhvdmVyLCB1bC5wYWdpbmF0aW9uIGxpIGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuLyogNWouIEdyYXZpdHkgRm9ybSBTdHlsZXMgKi9cbi5tYWluLWNvbnRlbnQgPiAuZW50cnktY29udGVudCA+IC5nZm9ybV93cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDFyZW0pOyB9IH1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9J2ZpbGUnXSksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIHNlbGVjdCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6ICM1QUIxRTA7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzVBQjFFMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAycmVtIC0wLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjI1KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBjYWxjKDFyZW0gKyAwLjI1ICogKCAoMTAwdncgLSAzMHJlbSkgLyA1Ny41KSkgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0LjEyNXJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMHJlbSkge1xuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT0nZmlsZSddKSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIHNlbGVjdCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVyZW0pIHtcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9J2ZpbGUnXSksXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCBzZWxlY3QsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCB0ZXh0YXJlYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgdGV4dGFyZWEge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXQsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDFyZW0pICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0LFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9sYXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBzZWxlY3QsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIHRleHRhcmVhLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCBpbnB1dCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQgc2VsZWN0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCB0ZXh0YXJlYSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IGlucHV0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgc2VsZWN0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgdGV4dGFyZWEsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QgaW5wdXQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3Qgc2VsZWN0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0IHRleHRhcmVhLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3QgaW5wdXQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCBzZWxlY3QsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCB0ZXh0YXJlYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0ICsgbGFiZWwsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgc2VsZWN0ICsgbGFiZWwsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgdGV4dGFyZWEgKyBsYWJlbCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCBpbnB1dCArIGxhYmVsLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IHNlbGVjdCArIGxhYmVsLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IHRleHRhcmVhICsgbGFiZWwsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IGlucHV0ICsgbGFiZWwsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IHNlbGVjdCArIGxhYmVsLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCB0ZXh0YXJlYSArIGxhYmVsLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QgaW5wdXQgKyBsYWJlbCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0IHNlbGVjdCArIGxhYmVsLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QgdGV4dGFyZWEgKyBsYWJlbCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3QgaW5wdXQgKyBsYWJlbCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3Qgc2VsZWN0ICsgbGFiZWwsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9sYXN0IHRleHRhcmVhICsgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjA2MjVyZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gMS4xMjVyZW0pO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwuaGFzLWxhYmVsLWJlbG93IGlucHV0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbC5oYXMtbGFiZWwtYmVsb3cgc2VsZWN0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbC5oYXMtbGFiZWwtYmVsb3cgdGV4dGFyZWEsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0Lmhhcy1sYWJlbC1iZWxvdyBpbnB1dCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQuaGFzLWxhYmVsLWJlbG93IHNlbGVjdCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQuaGFzLWxhYmVsLWJlbG93IHRleHRhcmVhLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQuaGFzLWxhYmVsLWJlbG93IGlucHV0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQuaGFzLWxhYmVsLWJlbG93IHNlbGVjdCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0Lmhhcy1sYWJlbC1iZWxvdyB0ZXh0YXJlYSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdC5oYXMtbGFiZWwtYmVsb3cgaW5wdXQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QuaGFzLWxhYmVsLWJlbG93IHNlbGVjdCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdC5oYXMtbGFiZWwtYmVsb3cgdGV4dGFyZWEsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdC5oYXMtbGFiZWwtYmVsb3cgaW5wdXQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdC5oYXMtbGFiZWwtYmVsb3cgc2VsZWN0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3QuaGFzLWxhYmVsLWJlbG93IHRleHRhcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3Qge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3Qge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfYWRkcmVzc19sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogI0Q1Q0RCNztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMCAxcmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3Mge1xuICAgIGJhY2tncm91bmQ6ICNENUNEQjc7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDFyZW0gMC4zMTI1cmVtIDA7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9mdWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9sZWZ0LFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9yaWdodCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9mdWxsIGlucHV0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2Z1bGwgc2VsZWN0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2xlZnQgaW5wdXQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfbGVmdCBzZWxlY3QsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfcmlnaHQgaW5wdXQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfcmlnaHQgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2Z1bGwgaW5wdXQgKyBsYWJlbCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2Z1bGwgc2VsZWN0ICsgbGFiZWwsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9sZWZ0IGlucHV0ICsgbGFiZWwsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9sZWZ0IHNlbGVjdCArIGxhYmVsLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfcmlnaHQgaW5wdXQgKyBsYWJlbCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X3JpZ2h0IHNlbGVjdCArIGxhYmVsIHtcbiAgICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2Z1bGwgc2VsZWN0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2xlZnQgc2VsZWN0LFxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X3JpZ2h0IHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfcmlnaHQgKyAuZ2lucHV0X2xlZnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkLmZsb2F0TGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkLmZsb2F0TGFiZWwgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygxcmVtICsgMC4xMjUgKiAoICgxMDB2dyAtIDMwcmVtKSAvIDU3LjUpKSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxlZnQ6IDEuMjVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4zNzVyZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdG9wOiAxLjM3NXJlbTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkLmZsb2F0TGFiZWwgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41cmVtKSB7XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkLmZsb2F0TGFiZWwgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQuZmxvYXRMYWJlbCBsYWJlbC5nZmllbGRfbGFiZWwgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZC5mbG9hdExhYmVsIGxhYmVsLmdmaWVsZF9sYWJlbFtkYXRhLWF0dHI9XCJhY3RpdmVcIl0ge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgdG9wOiAwLjI1cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlciB7XG4gIG1hcmdpbjogMS44NzVyZW0gMCAwIDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAudmFsaWRhdGlvbl9lcnJvciB7XG4gIGJhY2tncm91bmQ6ICNiMDFmMjM7XG4gIGJvcmRlci1jb2xvcjogI2IwMWYyMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9XG4gIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBsYWJlbC5nZmllbGRfbGFiZWwge1xuICAgIGNvbG9yOiAjMDAyNDQ1ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQgaW5wdXQgKyBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IGlucHV0ICsgbGFiZWwge1xuICAgIHRvcDogMTAwJTsgfVxuXG4vKiA1ay4gU2VhcmNoIFJlc3VsdHMgU3R5bGVzICovXG5ib2R5LnNlYXJjaC1yZXN1bHRzIHNlY3Rpb24jbWFpbi1jb250YWluZXIgZGl2Lm1haW4td3JhcCBhcnRpY2xlLm1haW4tY29udGVudCBzZWN0aW9uLmJzLWJsb2ctbG9vcCBhcnRpY2xlLnR5cGUtcGFnZS5wYWdlIC5lbnRyeS1jb250ZW50IC5ibG9nLW1ldGEge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkuc2VhcmNoLXJlc3VsdHMgc2VjdGlvbiNtYWluLWNvbnRhaW5lciBkaXYubWFpbi13cmFwIGFydGljbGUubWFpbi1jb250ZW50IHNlY3Rpb24uYnMtYmxvZy1sb29wIGFydGljbGUudHlwZS1wYWdlLnBhZ2UgLmVudHJ5LWNvbnRlbnQgLmJzLXBvc3QtZXhjZXJwdCB7XG4gIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cblxuLyoqKiogNi4gQkxPRyBQQUdFIEFORCBTSU5HTEUgQkxPRyBQT1NUIFNUWUxFUyAqKioqL1xuLmJzLWJsb2ctbG9vcCAuYnMtcG9zdC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5icy1ibG9nLWxvb3AgLmJzLXBvc3QtdGl0bGUgaDMgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAuYnMtYmxvZy1sb29wIC5ibG9nLW1ldGEgcCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwIGksIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgbWluLWhlaWdodDogMS41cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEuNXJlbTsgfVxuICAgIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwLmJzLXBvc3QtZGF0ZSB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5icy1ibG9nLWxvb3AgLmJsb2ctbWV0YSBwLmJzLXBvc3QtYnlsaW5lIHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAuYnMtYmxvZy1sb29wIC5ibG9nLW1ldGEgcC5icy1wb3N0LWJ5bGluZSBzcGFuLmF2YXRhciBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07IH1cbiAgICAuYnMtYmxvZy1sb29wIC5ibG9nLW1ldGEgcC5icy1wb3N0LWNhdHMge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICAuYnMtYmxvZy1sb29wIC5ibG9nLW1ldGEgcC5icy1wb3N0LWNvbW1lbnRzIHtcbiAgICAgIG9yZGVyOiA0OyB9XG5cbi5icy1ibG9nLWxvb3AgLmJsb2ctZm9vdGVyIGEge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1saXN0IGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgIzIyNzJCNDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWxpc3QgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdDpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWxpc3QgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdDpsYXN0LW9mLXR5cGUgaHIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1saXN0IGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2Uge1xuICAgIG9yZGVyOiAyO1xuICAgIHdpZHRoOiAxOC43NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtbGlzdCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWxpc3QgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuZW50cnktY29udGVudCB7XG4gICAgb3JkZXI6IDE7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTguNzVyZW0pOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1saXN0IGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1saXN0IGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZm9vdGVyIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtbGlzdC1sYXJnZSBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0Omxhc3Qtb2YtdHlwZSBociB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0yLjgxMjVyZW0gIWltcG9ydGFudDsgfVxuICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0LCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgZmlndXJlLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgYSwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mZWF0dXJlZC1pbWFnZSBmaWd1cmUsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgZmlndXJlIGltZywgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIGEgaW1nLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IC5ibG9nLWZlYXR1cmVkLWltYWdlIGZpZ3VyZSBpbWcsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgYSBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctbWV0YSAuYnMtZW50cnktbWV0YSwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1tZXRhIC5icy1lbnRyeS1tZXRhIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1tZXRhIC5icy1lbnRyeS1tZXRhIHAsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctbWV0YSAuYnMtZW50cnktbWV0YSBwIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuZW50cnktY29udGVudCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuZW50cnktY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xuICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJzLXBvc3QtZXhjZXJwdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYnMtcG9zdC1leGNlcnB0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mb290ZXIsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZm9vdGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjg3NXJlbSk7IH1cbiAgICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mb290ZXIgYSwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mb290ZXIgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3QgLmJsb2ctZm9vdGVyIGE6aG92ZXIsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mb290ZXIgYTpmb2N1cywgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mb290ZXIgYTpob3ZlciwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCAuYmxvZy1mb290ZXIgYTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2IwMWYyMzsgfVxuICAgIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdDpob3ZlciAuYmxvZy1mZWF0dXJlZC1pbWFnZSBmaWd1cmUgaW1nLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3Q6aG92ZXIgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgYSBpbWcsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdDpmb2N1cyAuYmxvZy1mZWF0dXJlZC1pbWFnZSBmaWd1cmUgaW1nLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkIGFydGljbGUuYnMtc2luZ2xlLXBvc3Q6Zm9jdXMgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgYSBpbWcsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3Q6aG92ZXIgLmJsb2ctZmVhdHVyZWQtaW1hZ2UgZmlndXJlIGltZywgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdDpob3ZlciAuYmxvZy1mZWF0dXJlZC1pbWFnZSBhIGltZywgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdDpmb2N1cyAuYmxvZy1mZWF0dXJlZC1pbWFnZSBmaWd1cmUgaW1nLCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0OmZvY3VzIC5ibG9nLWZlYXR1cmVkLWltYWdlIGEgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7IH1cbiAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZC5ncmlkLTItY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0LCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbC5ncmlkLTItY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZC5ncmlkLTItY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0LCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbC5ncmlkLTItY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQuZ3JpZC0zLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwuZ3JpZC0zLWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZC5ncmlkLTMtY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0LCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbC5ncmlkLTMtY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZC5ncmlkLTMtY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0LCAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbC5ncmlkLTMtY29scyBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWdyaWQuZ3JpZC00LWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCwgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwuZ3JpZC00LWNvbHMgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkLmdyaWQtNC1jb2xzIGFydGljbGUuYnMtc2luZ2xlLXBvc3QsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsLmdyaWQtNC1jb2xzIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1ncmlkLmdyaWQtNC1jb2xzIGFydGljbGUuYnMtc2luZ2xlLXBvc3QsIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsLmdyaWQtNC1jb2xzIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtZ3JpZCBuYXYuY3VzdG9tLXBhZ2luYXRpb24sIC5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIG5hdi5jdXN0b20tcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtOyB9XG5cbi5icy1ibG9nLWxvb3AuYnMtYmxvZy1sb29wLWNhcm91c2VsIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmJzLWJsb2ctbG9vcC5icy1ibG9nLWxvb3AtY2Fyb3VzZWwgLnNsaWNrLWxpc3Qge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCB1bC5zbGljay1kb3RzIHtcbiAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtO1xuICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gIG1hcmdpbi10b3A6IC0xLjg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB6LWluZGV4OiA5OTsgfVxuICAuYnMtYmxvZy1sb29wLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCB1bC5zbGljay1kb3RzIGxpOm9ubHktY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJzLWJsb2ctbG9vcCBuYXYuY3VzdG9tLXBhZ2luYXRpb24ge1xuICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgIC5icy1ibG9nLWxvb3AgbmF2LmN1c3RvbS1wYWdpbmF0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuYnMtYmxvZy1sb29wIG5hdi5jdXN0b20tcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdpZHRoOiAxLjg3NXJlbTsgfVxuICAuYnMtYmxvZy1sb29wIG5hdi5jdXN0b20tcGFnaW5hdGlvbiBzcGFuLnBhZ2UtbnVtYmVycy5wYWdlLW51bSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuYnMtYmxvZy1sb29wIG5hdi5jdXN0b20tcGFnaW5hdGlvbiBzcGFuLnBpcGUtc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAwIDAuNDM3NXJlbTsgfVxuICAuYnMtYmxvZy1sb29wIG5hdi5jdXN0b20tcGFnaW5hdGlvbiBzcGFuLnBhZ2UtbnVtYmVycy5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjYjAxZjIzO1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cbiAgLmJzLWJsb2ctbG9vcCBuYXYuY3VzdG9tLXBhZ2luYXRpb24gYS5wYWdlLW51bWJlcnMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAuYnMtYmxvZy1sb29wIG5hdi5jdXN0b20tcGFnaW5hdGlvbiBhLnBhZ2UtbnVtYmVyczpob3ZlciwgLmJzLWJsb2ctbG9vcCBuYXYuY3VzdG9tLXBhZ2luYXRpb24gYS5wYWdlLW51bWJlcnM6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5zaW5nbGUtcG9zdCAubWFpbi13cmFwLCAuYmxvZyAubWFpbi13cmFwLCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcCwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAsIC5hcmNoaXZlIC5tYWluLXdyYXAsIC50YWcgLm1haW4td3JhcCwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEsIC5ibG9nIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSwgLnNlYXJjaC1yZXN1bHRzIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSwgLmFyY2hpdmUgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhLCAudGFnIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuc2luZ2xlLXBvc3QgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHAsIC5ibG9nIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSBwLCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHAsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcCwgLmFyY2hpdmUgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHAsIC50YWcgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHAsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHAge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICAgICAgbWFyZ2luOiAwIDAuNjI1cmVtIDAgMDtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwOyB9XG4gICAgICAuc2luZ2xlLXBvc3QgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHA6bGFzdC1vZi10eXBlLCAuYmxvZyAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcDpsYXN0LW9mLXR5cGUsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcDpsYXN0LW9mLXR5cGUsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcDpsYXN0LW9mLXR5cGUsIC5hcmNoaXZlIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuYnMtZW50cnktbWV0YSBwOmxhc3Qtb2YtdHlwZSwgLnRhZyAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmJzLWVudHJ5LW1ldGEgcDpsYXN0LW9mLXR5cGUsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5icy1lbnRyeS1tZXRhIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAubm8tc2lkZWJhciwgLmJsb2cgLm1haW4td3JhcC5uby1zaWRlYmFyLCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcC5uby1zaWRlYmFyLCAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcC5uby1zaWRlYmFyLCAuYXJjaGl2ZSAubWFpbi13cmFwLm5vLXNpZGViYXIsIC50YWcgLm1haW4td3JhcC5uby1zaWRlYmFyLCAuc2luZ2xlLXN0YWZmIC5tYWluLXdyYXAubm8tc2lkZWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaW5nbGUtcG9zdCAubWFpbi13cmFwLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5ibG9nIC5tYWluLXdyYXAubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLnNlYXJjaC1yZXN1bHRzIC5tYWluLXdyYXAubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLmFyY2hpdmUgLm1haW4td3JhcC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAudGFnIC5tYWluLXdyYXAubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLnNpbmdsZS1zdGFmZiAubWFpbi13cmFwLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0LCAuc2luZ2xlLXBvc3QgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0LCAuYmxvZyAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0LCAuYmxvZyAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0LCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0LCAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCwgLmFyY2hpdmUgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCwgLmFyY2hpdmUgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0LCAudGFnIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQsIC50YWcgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0LCAuc2luZ2xlLXN0YWZmIC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCwgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50LCAuYmxvZyAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5ibG9nIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50LCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50LCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCwgLmFyY2hpdmUgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50LCAuYXJjaGl2ZSAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQgLm1haW4tY29udGVudCwgLnRhZyAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC50YWcgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50LCAuc2luZ2xlLXN0YWZmIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAuYmxvZy1zaWRlYmFyLWxlZnQgYXNpZGUuc2lkZWJhciwgLnNpbmdsZS1wb3N0IC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyLCAuYmxvZyAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5ibG9nIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyLCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyLCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQgYXNpZGUuc2lkZWJhciwgLmFyY2hpdmUgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyLCAuYXJjaGl2ZSAubWFpbi13cmFwLnNpbmdsZS1zaWRlYmFyLWxlZnQgYXNpZGUuc2lkZWJhciwgLnRhZyAubWFpbi13cmFwLmJsb2ctc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC50YWcgLm1haW4td3JhcC5zaW5nbGUtc2lkZWJhci1sZWZ0IGFzaWRlLnNpZGViYXIsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5ibG9nLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyLCAuc2luZ2xlLXN0YWZmIC5tYWluLXdyYXAuc2luZ2xlLXNpZGViYXItbGVmdCBhc2lkZS5zaWRlYmFyIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gIC5zaW5nbGUtcG9zdCAubWFpbi13cmFwLmJsb2ctZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuc2luZ2xlLXBvc3QgLm1haW4td3JhcC5zaW5nbGUtZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuYmxvZyAubWFpbi13cmFwLmJsb2ctZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuYmxvZyAubWFpbi13cmFwLnNpbmdsZS1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5zZWFyY2gtcmVzdWx0cyAubWFpbi13cmFwLmJsb2ctZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuc2VhcmNoLXJlc3VsdHMgLm1haW4td3JhcC5zaW5nbGUtZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcC5ibG9nLWZ1bGwtd2lkdGgubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAuc2luZ2xlLWZ1bGwtd2lkdGgubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLmFyY2hpdmUgLm1haW4td3JhcC5ibG9nLWZ1bGwtd2lkdGgubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCwgLmFyY2hpdmUgLm1haW4td3JhcC5zaW5nbGUtZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAudGFnIC5tYWluLXdyYXAuYmxvZy1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC50YWcgLm1haW4td3JhcC5zaW5nbGUtZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50LCAuc2luZ2xlLXN0YWZmIC5tYWluLXdyYXAuYmxvZy1mdWxsLXdpZHRoLm5vLXNpZGViYXIgYXJ0aWNsZS5tYWluLWNvbnRlbnQsIC5zaW5nbGUtc3RhZmYgLm1haW4td3JhcC5zaW5nbGUtZnVsbC13aWR0aC5uby1zaWRlYmFyIGFydGljbGUubWFpbi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnNpbmdsZS1wb3N0IC5hYm91dC10aGUtYXV0aG9yLXdyYXAsIC5ibG9nIC5hYm91dC10aGUtYXV0aG9yLXdyYXAsIC5zZWFyY2gtcmVzdWx0cyAuYWJvdXQtdGhlLWF1dGhvci13cmFwLCAuc2luZ2xlLXNlcnZpY2UgLmFib3V0LXRoZS1hdXRob3Itd3JhcCwgLmFyY2hpdmUgLmFib3V0LXRoZS1hdXRob3Itd3JhcCwgLnRhZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwLCAuc2luZ2xlLXN0YWZmIC5hYm91dC10aGUtYXV0aG9yLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDJyZW0gMDtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5zaW5nbGUtcG9zdCAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItaW1hZ2UsIC5ibG9nIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSwgLnNlYXJjaC1yZXN1bHRzIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSwgLnNpbmdsZS1zZXJ2aWNlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSwgLmFyY2hpdmUgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlLCAudGFnIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSwgLnNpbmdsZS1zdGFmZiAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItaW1hZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogNXJlbTsgfVxuICAgIC5zaW5nbGUtcG9zdCAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItaW1hZ2UgaW1nLCAuYmxvZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItaW1hZ2UgaW1nLCAuc2VhcmNoLXJlc3VsdHMgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlIGltZywgLnNpbmdsZS1zZXJ2aWNlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSBpbWcsIC5hcmNoaXZlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1pbWFnZSBpbWcsIC50YWcgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWltYWdlIGltZywgLnNpbmdsZS1zdGFmZiAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItaW1hZ2UgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zaW5nbGUtcG9zdCAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24sIC5ibG9nIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiwgLnNlYXJjaC1yZXN1bHRzIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiwgLnNpbmdsZS1zZXJ2aWNlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiwgLmFyY2hpdmUgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLCAudGFnIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiwgLnNpbmdsZS1zdGFmZiAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1LjYyNXJlbSk7IH1cbiAgICAuc2luZ2xlLXBvc3QgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uIHA6bGFzdC1vZi10eXBlLCAuYmxvZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcDpsYXN0LW9mLXR5cGUsIC5zZWFyY2gtcmVzdWx0cyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcDpsYXN0LW9mLXR5cGUsIC5zaW5nbGUtc2VydmljZSAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcDpsYXN0LW9mLXR5cGUsIC5hcmNoaXZlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwOmxhc3Qtb2YtdHlwZSwgLnRhZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcDpsYXN0LW9mLXR5cGUsIC5zaW5nbGUtc3RhZmYgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2luZ2xlLXBvc3QgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uIHAgc3Ryb25nLCAuYmxvZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcCBzdHJvbmcsIC5zZWFyY2gtcmVzdWx0cyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcCBzdHJvbmcsIC5zaW5nbGUtc2VydmljZSAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcCBzdHJvbmcsIC5hcmNoaXZlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbiBwIHN0cm9uZywgLnRhZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24gcCBzdHJvbmcsIC5zaW5nbGUtc3RhZmYgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uIHAgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMTE1JTsgfVxuICAgIC5zaW5nbGUtcG9zdCAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24ubm8tYXZhdGFyLCAuYmxvZyAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24ubm8tYXZhdGFyLCAuc2VhcmNoLXJlc3VsdHMgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLm5vLWF2YXRhciwgLnNpbmdsZS1zZXJ2aWNlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbi5uby1hdmF0YXIsIC5hcmNoaXZlIC5hYm91dC10aGUtYXV0aG9yLXdyYXAgLmF1dGhvci1kZXNjcmlwdGlvbi5uby1hdmF0YXIsIC50YWcgLmFib3V0LXRoZS1hdXRob3Itd3JhcCAuYXV0aG9yLWRlc2NyaXB0aW9uLm5vLWF2YXRhciwgLnNpbmdsZS1zdGFmZiAuYWJvdXQtdGhlLWF1dGhvci13cmFwIC5hdXRob3ItZGVzY3JpcHRpb24ubm8tYXZhdGFyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5ibG9nLWZlYXR1cmVkLWltYWdlIGEge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuYmxvZy1mZWF0dXJlZC1pbWFnZSBhIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qIDZhLiBDb21tZW50cyBTZWN0aW9uIFN0eWxlcyAqL1xuc2VjdGlvbiNjb21tZW50cyB7XG4gIGJhY2tncm91bmQ6ICNENUNEQjc7XG4gIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0ID4gbGkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDAuMTI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCA+IGxpIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGhlYWRlci5jb21tZW50LWF1dGhvciB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGhlYWRlci5jb21tZW50LWF1dGhvciBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCBoZWFkZXIuY29tbWVudC1hdXRob3IgdGltZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCBoZWFkZXIuY29tbWVudC1hdXRob3IgY2l0ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgdWwuY2hpbGRyZW4ge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMCAwOyB9XG4gICAgICBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCB1bC5jaGlsZHJlbiBsaSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgICBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCB1bC5jaGlsZHJlbiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCB1bC5jaGlsZHJlbiBsaSBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGEuY29tbWVudC1yZXBseS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuc2VjdGlvbiNyZXNwb25kIHtcbiAgYmFja2dyb3VuZDogI0Q1Q0RCNztcbiAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgc2VjdGlvbiNyZXNwb25kIHA6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgc2VjdGlvbiNyZXNwb25kIGZvcm0jY29tbWVudGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sIHNlY3Rpb24jcmVzcG9uZCBmb3JtI2NvbW1lbnRmb3JtIHRleHRhcmVhIHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDIuODEyNXJlbTsgfVxuICBzZWN0aW9uI3Jlc3BvbmQgZm9ybSNjb21tZW50Zm9ybSBpbnB1dC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICBzZWN0aW9uI3Jlc3BvbmQgZm9ybSNjb21tZW50Zm9ybSBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4vKiA2Yi4gQUpBWCBCbG9nIExvb3AgU2hvcnRjb2RlIFN0eWxlcyAqL1xuLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLWxlZnQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtbGVmdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLWxlZnQgdWwuYnMtYWpheC1ibG9nLWltYWdlcyB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1sZWZ0IHVsLmJzLWFqYXgtYmxvZy1pbWFnZXMgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLWxlZnQgdWwuYnMtYWpheC1ibG9nLWltYWdlcyAuc2xpY2stc2xpZGUsIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtbGVmdCB1bC5icy1hamF4LWJsb2ctaW1hZ2VzIC5zbGljay10cmFjayB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLWxlZnQgdWwuYnMtYWpheC1ibG9nLWltYWdlcyBidXR0b24uc2xpY2stYXJyb3cge1xuICAgICAgICBib3R0b206IC0xLjI1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLWxlZnQgdWwuYnMtYWpheC1ibG9nLWltYWdlcyBidXR0b24uc2xpY2stbmV4dCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjYlIC0gMS44NzVyZW0pOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MGVtKSB7XG4gICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0LmxvYWRpbmcge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQubG9hZGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IC5icy1hamF4LXN3YXAtYXJlYS5hamF4LWxvYWRpbmcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgaW1nLmxvYWRpbmctYW5pbWF0aW9uIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IC5icy1wb3N0LWZlYXR1cmVkLWltYWdlIGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtdGl0bGUgaDMgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtbWV0YSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IC5icy1wb3N0LW1ldGEgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IC5icy1wb3N0LW1ldGEgcCBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC1tZXRhIHAgaSwgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC1tZXRhIHAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEuNXJlbTsgfVxuICAgICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IC5icy1wb3N0LW1ldGEgcC5icy1wb3N0LWRhdGUge1xuICAgICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtbWV0YSBwLmJzLXBvc3QtYnlsaW5lIHtcbiAgICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtbWV0YSBwLmJzLXBvc3QtYnlsaW5lIHNwYW4uYXZhdGFyIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTtcbiAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07IH1cbiAgICAgICAgLmJzLWFqYXgtYmxvZy1sb29wIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIC5icy1hamF4LWJsb2ctbG9vcC1yaWdodCAuYnMtcG9zdC1tZXRhIHAuYnMtcG9zdC1jYXRzIHtcbiAgICAgICAgICBvcmRlcjogMzsgfVxuICAgICAgICAuYnMtYWpheC1ibG9nLWxvb3AgLmJzLWFqYXgtYmxvZy1sb29wLXdyYXBwZXIgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IC5icy1wb3N0LW1ldGEgcC5icy1wb3N0LWNvbW1lbnRzIHtcbiAgICAgICAgICBvcmRlcjogNDsgfVxuICAgIC5icy1hamF4LWJsb2ctbG9vcCAuYnMtYWpheC1ibG9nLWxvb3Atd3JhcHBlciAuYnMtYWpheC1ibG9nLWxvb3AtcmlnaHQgLmJzLXBvc3QtZm9vdGVyIGEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyoqKiogNy4gUE9SVEZPTElPIFNUWUxFUyAqKioqL1xuLyoqKiogOC4gU0VSVklDRVMgU1RZTEVTICoqKiovXG4vKiBTaW5nbGUgU2VydmljZSBJdGVtIFN0eWxlcyAqL1xuLnNpbmdsZS1zZXJ2aWNlIC5zZXJ2aWNlLWZlYXR1cmVkLWltYWdlIHtcbiAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICBtYXgtd2lkdGg6IDIwLjYyNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNpbmdsZS1zZXJ2aWNlIC5tYWluLXdyYXAgLm1haW4tY29udGVudCB1bC5zZXJ2aWNlLWNhdGVnb3J5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMnJlbSAwOyB9XG4gIC5zaW5nbGUtc2VydmljZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgdWwuc2VydmljZS1jYXRlZ29yeSBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgfVxuICAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcCAubWFpbi1jb250ZW50IHVsLnNlcnZpY2UtY2F0ZWdvcnkgbGkuY2F0LW5hbWU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcsJzsgfVxuICAuc2luZ2xlLXNlcnZpY2UgLm1haW4td3JhcCAubWFpbi1jb250ZW50IHVsLnNlcnZpY2UtY2F0ZWdvcnkgbGkuY2F0LW5hbWU6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cblxuLyogU2VydmljZXMgU2hvcnRjb2RlIFN0eWxlcyAqL1xuLnNlcnZpY2VzLXdyYXBwZXIgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gLnNlcnZpY2UtdGh1bWJuYWlsIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2VydmljZXMtd3JhcHBlciAuc2luZ2xlLXNlcnZpY2UtaXRlbSAuc2VydmljZS10aHVtYm5haWwgYSBpbWcge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cblxuLnNlcnZpY2VzLXdyYXBwZXIgLnNpbmdsZS1zZXJ2aWNlLWl0ZW06aG92ZXIgLnNlcnZpY2UtdGh1bWJuYWlsIGEgaW1nLCAuc2VydmljZXMtd3JhcHBlciAuc2luZ2xlLXNlcnZpY2UtaXRlbTpmb2N1cyAuc2VydmljZS10aHVtYm5haWwgYSBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG5cbi5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktZ3JpZC5ncmlkLWNvbHMtMSAuc2luZ2xlLXNlcnZpY2UtaXRlbSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktZ3JpZC5ncmlkLWNvbHMtMiAuc2luZ2xlLXNlcnZpY2UtaXRlbSB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0yIC5zaW5nbGUtc2VydmljZS1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0zIC5zaW5nbGUtc2VydmljZS1pdGVtIHtcbiAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0zIC5zaW5nbGUtc2VydmljZS1pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTMgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTQgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0ge1xuICB3aWR0aDogMjUlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkLmdyaWQtY29scy00IC5zaW5nbGUtc2VydmljZS1pdGVtIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkLmdyaWQtY29scy00IC5zaW5nbGUtc2VydmljZS1pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTQgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQgLnNlcnZpY2VzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIDAgLTAuOTM3NXJlbSAtMC45Mzc1cmVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2Utb3V0IDBzO1xuICAtbW96LXRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2Utb3V0IDBzO1xuICAtbXMtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgZWFzZS1vdXQgMHM7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gIC5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktZ3JpZCAuc2VydmljZXMtY29udGFpbmVyIC5zaW5nbGUtc2VydmljZS1pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkIC5zZXJ2aWNlcy1jb250YWluZXIgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gc2VjdGlvbi5zZXJ2aWNlLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQgLnNlcnZpY2VzLWNvbnRhaW5lciAuc2luZ2xlLXNlcnZpY2UtaXRlbSBzZWN0aW9uLnNlcnZpY2UtY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIC5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktZ3JpZCAuc2VydmljZXMtY29udGFpbmVyIC5zaW5nbGUtc2VydmljZS1pdGVtIHNlY3Rpb24uc2VydmljZS1jb250ZW50IGg0LnNlcnZpY2UtdGl0bGUge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwLjEyNXJlbSAwICMwMDAwMDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIC5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktZ3JpZCAuc2VydmljZXMtY29udGFpbmVyIC5zaW5nbGUtc2VydmljZS1pdGVtIHNlY3Rpb24uc2VydmljZS1jb250ZW50IHVsLnNlcnZpY2UtY2F0ZWdvcnkge1xuICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMzEyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICAgIC5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktZ3JpZCAuc2VydmljZXMtY29udGFpbmVyIC5zaW5nbGUtc2VydmljZS1pdGVtIHNlY3Rpb24uc2VydmljZS1jb250ZW50IHVsLnNlcnZpY2UtY2F0ZWdvcnkgbGkge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMC4xMjVyZW0gMCAjMDAwMDAwOyB9XG4gICAgICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQgLnNlcnZpY2VzLWNvbnRhaW5lciAuc2luZ2xlLXNlcnZpY2UtaXRlbSBzZWN0aW9uLnNlcnZpY2UtY29udGVudCBpbWcuc2VydmljZS10aHVtYm5haWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkIC5zZXJ2aWNlcy1jb250YWluZXIgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gc2VjdGlvbi5zZXJ2aWNlLWNvbnRlbnQ6aG92ZXI6YmVmb3JlLCAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQgLnNlcnZpY2VzLWNvbnRhaW5lciAuc2luZ2xlLXNlcnZpY2UtaXRlbSBzZWN0aW9uLnNlcnZpY2UtY29udGVudDpmb2N1czpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQgLnNlcnZpY2VzLWNvbnRhaW5lciAuc2luZ2xlLXNlcnZpY2UtaXRlbSBzZWN0aW9uLnNlcnZpY2UtY29udGVudDpob3ZlciBoNC5zZXJ2aWNlLXRpdGxlLCAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQgLnNlcnZpY2VzLWNvbnRhaW5lciAuc2luZ2xlLXNlcnZpY2UtaXRlbSBzZWN0aW9uLnNlcnZpY2UtY29udGVudDpmb2N1cyBoNC5zZXJ2aWNlLXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkIC5zZXJ2aWNlcy1jb250YWluZXIgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gc2VjdGlvbi5zZXJ2aWNlLWNvbnRlbnQ6aG92ZXIgdWwuc2VydmljZS1jYXRlZ29yeSwgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1ncmlkIC5zZXJ2aWNlcy1jb250YWluZXIgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gc2VjdGlvbi5zZXJ2aWNlLWNvbnRlbnQ6Zm9jdXMgdWwuc2VydmljZS1jYXRlZ29yeSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cblxuLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1saXN0IC5zaW5nbGUtc2VydmljZS1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gIC5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXNlcnZpY2UtaXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gLnNlcnZpY2UtdGh1bWJuYWlsIHtcbiAgICBvcmRlcjogMjtcbiAgICB3aWR0aDogMTguNzVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXNlcnZpY2UtaXRlbSAuc2VydmljZS10aHVtYm5haWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gLnNlcnZpY2UtdGh1bWJuYWlsIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1saXN0IC5zaW5nbGUtc2VydmljZS1pdGVtIC5zZXJ2aWNlLWNvbnRlbnQge1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4Ljc1cmVtKTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLnNlcnZpY2VzLXdyYXBwZXIuc2VydmljZXMtZGlzcGxheS1saXN0IC5zaW5nbGUtc2VydmljZS1pdGVtIC5zZXJ2aWNlLWNvbnRlbnQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXNlcnZpY2UtaXRlbSAuc2VydmljZS1jb250ZW50IHVsLnNlcnZpY2UtY2F0ZWdvcnkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zZXJ2aWNlcy13cmFwcGVyLnNlcnZpY2VzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXNlcnZpY2UtaXRlbSAuc2VydmljZS1jb250ZW50IHVsLnNlcnZpY2UtY2F0ZWdvcnkgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtOyB9XG4gICAgICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gLnNlcnZpY2UtY29udGVudCB1bC5zZXJ2aWNlLWNhdGVnb3J5IGxpLmNhdC1uYW1lOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJywnOyB9XG4gICAgICAuc2VydmljZXMtd3JhcHBlci5zZXJ2aWNlcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0gLnNlcnZpY2UtY29udGVudCB1bC5zZXJ2aWNlLWNhdGVnb3J5IGxpLmNhdC1uYW1lOmxhc3Qtb2YtdHlwZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG5cbi8qKioqIDkuIFNUQUZGIFNUWUxFUyAqKioqL1xuLyogU2luZ2xlIFN0YWZmIEl0ZW0gU3R5bGVzICovXG4uc2luZ2xlLXN0YWZmIC5tYWluLWNvbnRlbnQgLnN0YWZmLWZlYXR1cmVkLWltYWdlIHtcbiAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICBtYXgtd2lkdGg6IDIwLjYyNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNpbmdsZS1zdGFmZiAubWFpbi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNpbmdsZS1zdGFmZiAubWFpbi1jb250ZW50IHVsLnN0YWZmLWNhdGVnb3J5IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTsgfVxuICAgIC5zaW5nbGUtc3RhZmYgLm1haW4tY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSBsaS5jYXQtbmFtZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTsgfVxuICAgIC5zaW5nbGUtc3RhZmYgLm1haW4tY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSBsaS5jYXQtbmFtZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnLCc7IH1cbiAgICAuc2luZ2xlLXN0YWZmIC5tYWluLWNvbnRlbnQgdWwuc3RhZmYtY2F0ZWdvcnkgbGkuY2F0LW5hbWU6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuXG4vKiBTdGFmZiBTaG9ydGNvZGUgU3R5bGVzICovXG4uc3RhZmZzLXdyYXBwZXIgLnN0YWZmLWZpbHRlci10b2dnbGUge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RhZmZzLXdyYXBwZXIgLnN0YWZmLWZpbHRlci10b2dnbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc3RhZmZzLXdyYXBwZXIgLnN0YWZmLWZpbHRlci10b2dnbGUgYSB7XG4gICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnN0YWZmcy13cmFwcGVyIHVsI2ZpbHRlcnMsIC5zdGFmZnMtd3JhcHBlciB1bFtpZCo9XCJmaWx0ZXJzLVwiXSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbSAtMC45Mzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0IDBzO1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0IDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RhZmZzLXdyYXBwZXIgdWwjZmlsdGVycywgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7IH0gfVxuICAuc3RhZmZzLXdyYXBwZXIgdWwjZmlsdGVycyBsaSwgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc3RhZmZzLXdyYXBwZXIgdWwjZmlsdGVycyBsaSwgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgLnN0YWZmcy13cmFwcGVyIHVsI2ZpbHRlcnMgbGkgYSwgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIGEge1xuICAgICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC45Mzc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuc3RhZmZzLXdyYXBwZXIgdWwjZmlsdGVycyBsaSBhLmFjdGl2ZSwgLnN0YWZmcy13cmFwcGVyIHVsI2ZpbHRlcnMgbGkgYTpob3ZlciwgLnN0YWZmcy13cmFwcGVyIHVsI2ZpbHRlcnMgbGkgYTpmb2N1cywgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIGEuYWN0aXZlLCAuc3RhZmZzLXdyYXBwZXIgdWxbaWQqPVwiZmlsdGVycy1cIl0gbGkgYTpob3ZlciwgLnN0YWZmcy13cmFwcGVyIHVsW2lkKj1cImZpbHRlcnMtXCJdIGxpIGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYjAxZjIzOyB9XG5cbi5zdGFmZnMtd3JhcHBlciAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLXRodW1ibmFpbCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnN0YWZmcy13cmFwcGVyIC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtdGh1bWJuYWlsIGEgaW1nIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG5cbi5zdGFmZnMtd3JhcHBlciAuc2luZ2xlLXN0YWZmLWl0ZW06aG92ZXIgLnN0YWZmLXRodW1ibmFpbCBhIGltZywgLnN0YWZmcy13cmFwcGVyIC5zaW5nbGUtc3RhZmYtaXRlbTpmb2N1cyAuc3RhZmYtdGh1bWJuYWlsIGEgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsgfVxuXG4uc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZC5ncmlkLWNvbHMtMSAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZC5ncmlkLWNvbHMtMiAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0yIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0zIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gIHdpZHRoOiAzMy4zMzMzJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy0zIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTMgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTQgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgd2lkdGg6IDI1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy00IC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkLmdyaWQtY29scy00IC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQuZ3JpZC1jb2xzLTQgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAwIC0wLjkzNzVyZW0gLTAuOTM3NXJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1zLXRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2Utb3V0IDBzO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLW91dCAwczsgfVxuICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZCAuc3RhZmZzLWNvbnRhaW5lciAuc2luZ2xlLXN0YWZmLWl0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZCAuc3RhZmZzLWNvbnRhaW5lciAuc2luZ2xlLXN0YWZmLWl0ZW0gc2VjdGlvbi5zdGFmZi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIHNlY3Rpb24uc3RhZmYtY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgaDQuc3RhZmYtdGl0bGUge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwLjEyNXJlbSAwICMwMDAwMDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgcC5zdGFmZi1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgdWwuc3RhZmYtY2F0ZWdvcnkge1xuICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMzEyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSBzZWN0aW9uLnN0YWZmLWNvbnRlbnQgdWwuc3RhZmYtY2F0ZWdvcnkgbGkge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMC4xMjVyZW0gMCAjMDAwMDAwOyB9XG4gICAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktZ3JpZCAuc3RhZmZzLWNvbnRhaW5lciAuc2luZ2xlLXN0YWZmLWl0ZW0gc2VjdGlvbi5zdGFmZi1jb250ZW50IGltZy5zdGFmZi10aHVtYm5haWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIHNlY3Rpb24uc3RhZmYtY29udGVudDpob3ZlcjpiZWZvcmUsIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSBzZWN0aW9uLnN0YWZmLWNvbnRlbnQ6Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIHNlY3Rpb24uc3RhZmYtY29udGVudDpob3ZlciBoNC5zdGFmZi10aXRsZSwgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWdyaWQgLnN0YWZmcy1jb250YWluZXIgLnNpbmdsZS1zdGFmZi1pdGVtIHNlY3Rpb24uc3RhZmYtY29udGVudDpmb2N1cyBoNC5zdGFmZi10aXRsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSBzZWN0aW9uLnN0YWZmLWNvbnRlbnQ6aG92ZXIgdWwuc3RhZmYtY2F0ZWdvcnksIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1ncmlkIC5zdGFmZnMtY29udGFpbmVyIC5zaW5nbGUtc3RhZmYtaXRlbSBzZWN0aW9uLnN0YWZmLWNvbnRlbnQ6Zm9jdXMgdWwuc3RhZmYtY2F0ZWdvcnkge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG5cbi5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi10aHVtYm5haWwge1xuICAgIG9yZGVyOiAyO1xuICAgIHdpZHRoOiAxOC43NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi10aHVtYm5haWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLXRodW1ibmFpbCBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtY29udGVudCB7XG4gICAgb3JkZXI6IDE7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTguNzVyZW0pOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLWNvbnRlbnQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtY29udGVudCBwLnN0YWZmLW1ldGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi1jb250ZW50IHAuc3RhZmYtbWV0YSBpLCAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLWNvbnRlbnQgcC5zdGFmZi1tZXRhIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07IH1cbiAgICAuc3RhZmZzLXdyYXBwZXIuc3RhZmZzLWRpc3BsYXktbGlzdCAuc2luZ2xlLXN0YWZmLWl0ZW0gLnN0YWZmLWNvbnRlbnQgdWwuc3RhZmYtY2F0ZWdvcnkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07XG4gICAgICAgIHdpZHRoOiAxLjQzNzVyZW07IH1cbiAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSBsaS5jYXQtbmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSBsaS5jYXQtbmFtZTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywnOyB9XG4gICAgICAgIC5zdGFmZnMtd3JhcHBlci5zdGFmZnMtZGlzcGxheS1saXN0IC5zaW5nbGUtc3RhZmYtaXRlbSAuc3RhZmYtY29udGVudCB1bC5zdGFmZi1jYXRlZ29yeSBsaS5jYXQtbmFtZTpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLnN0YWZmcy13cmFwcGVyLnN0YWZmcy1kaXNwbGF5LWxpc3QgLnNpbmdsZS1zdGFmZi1pdGVtIC5zdGFmZi1jb250ZW50IC5zdGFmZi1yZWFkLW1vcmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4vKioqKiAxMC4gNDA0IFBBR0UgU1RZTEVTICoqKiovXG4uZXJyb3I0MDQgLm1haW4td3JhcC5uby1zaWRlYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmVycm9yNDA0IC5tYWluLXdyYXAubm8tc2lkZWJhciBhcnRpY2xlLm1haW4tY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4vKioqKiAxMS4gSUUvRURHRSBTVFlMRVMgKioqKi9cbi8qIE1TIEVkZ2UgT25seSBDU1MgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICBoZWFkZXIjbWFzdGhlYWQgbmF2LnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIHVsLmRlc2t0b3AtbWVudSA+IGxpLmlzLWFjdGl2ZTpmb2N1cyB1bC5zdWJtZW51LmRyb3Bkb3duLFxuICBoZWFkZXIjbWFzdGhlYWQgbmF2LnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIHVsLmRlc2t0b3AtbWVudSA+IGxpLmlzLWFjdGl2ZTpob3ZlciB1bC5zdWJtZW51LmRyb3Bkb3duIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB6LWluZGV4OiAxMDsgfSB9XG5cbi8qIElFMTAvMTEgT25seSBDU1MgKi9cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgaGVhZGVyI21hc3RoZWFkICNoZWFkZXItaW5uZXIgLnRvcC1iYXIgdWwuZGVza3RvcC1tZW51ID4gbGkubWVudS1pdGVtID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgaGVhZGVyI21hc3RoZWFkIG5hdi5zaXRlLW5hdmlnYXRpb24udG9wLWJhciB1bC5kZXNrdG9wLW1lbnUgPiBsaS5tZW51LWl0ZW0uaXMtYWN0aXZlOmZvY3VzIHVsLnN1Ym1lbnUuZHJvcGRvd24sXG4gIGhlYWRlciNtYXN0aGVhZCBuYXYuc2l0ZS1uYXZpZ2F0aW9uLnRvcC1iYXIgdWwuZGVza3RvcC1tZW51ID4gbGkubWVudS1pdGVtLmlzLWFjdGl2ZTpob3ZlciB1bC5zdWJtZW51LmRyb3Bkb3duIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICBoZWFkZXIjbWFzdGhlYWQgbmF2LnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIHVsLmRlc2t0b3AtbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3VibWVudS5kcm9wZG93bjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0ICsgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgc2VsZWN0ICsgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgdGV4dGFyZWEgKyBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCBpbnB1dCArIGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IHNlbGVjdCArIGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IHRleHRhcmVhICsgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IGlucHV0ICsgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IHNlbGVjdCArIGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCB0ZXh0YXJlYSArIGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QgaW5wdXQgKyBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0IHNlbGVjdCArIGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QgdGV4dGFyZWEgKyBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3QgaW5wdXQgKyBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3Qgc2VsZWN0ICsgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9sYXN0IHRleHRhcmVhICsgbGFiZWwge1xuICAgIGxlZnQ6IDAuOTM3NXJlbTsgfVxuICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLXJpZ2h0LFxuICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWJvdHRvbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhci5zaXRlLW5hdmlnYXRpb24gdWwuZGVza3RvcC1tZW51ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IH1cbiAgaGVhZGVyI21hc3RoZWFkIHtcbiAgICB6LWluZGV4OiAxMDAwOyB9IH1cblxuLyoqKiogMTIuIFNBRkFSSSBTVFlMRVMgKioqKi9cbi8qIFNhZmFyaSAxMC4wKyBPbmx5IFN0eWxlcyAqL1xuLyoqKiogMTMuIFNFQVJDSCBGT1JNIFNUWUxFUyAqKioqL1xuaHRtbCBmb3JtI3NlYXJjaGZvcm0ge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDE4Ljc1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIGh0bWwgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3M6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zNzVyZW0gIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbiAgaHRtbCBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjczo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuICBodG1sIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zNzVyZW0gIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbiAgaHRtbCBmb3JtI3NlYXJjaGZvcm0gaW5wdXQjczotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zNzVyZW0gIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbiAgaHRtbCBmb3JtI3NlYXJjaGZvcm06YmVmb3JlIHtcbiAgICBjb2xvcjogIzIyNzJCNDtcbiAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCIsICdmb250YXdlc29tZScgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGhlaWdodDogMy43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy42MjVyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDMuMzc1cmVtOyB9XG4gIGh0bWwgZm9ybSNzZWFyY2hmb3JtIC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIGh0bWwgZm9ybSNzZWFyY2hmb3JtIGlucHV0I3Mge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW0gIWltcG9ydGFudDsgfVxuICBodG1sIGZvcm0jc2VhcmNoZm9ybSBpbnB1dCNzZWFyY2hzdWJtaXQge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLXdpZHRoOiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuXG5odG1sIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGh0bWwgLm1lbnUtc2VhcmNoLXdyYXBwZXIgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuaHRtbCAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciBmb3JtI3NlYXJjaGZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmh0bWwgbmF2Lm9mZi1jYW52YXMgZm9ybSNzZWFyY2hmb3JtIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWF4LXdpZHRoOiAzMHJlbSAhaW1wb3J0YW50OyB9XG5cbmRpdiNicy1zaXRld2lkZS1wb3B1cCAuYnMtcG9wdXAtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIGJvdHRvbTogMDtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG5kaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgcGFkZGluZzogMS44NzVyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMzcuNXJlbTtcbiAgei1pbmRleDogMTAwMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGgyLCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGgzLCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGg0LCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGg1LCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIGg2IHtcbiAgICBjb2xvcjogIzIyNzJCNDsgfVxuICBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAgLmJzLXBvcHVwLWlubmVyIHAge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmRpdiNicy1zaXRld2lkZS1wb3B1cCAuYnMtcG9wdXAtY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogNXJlbTtcbiAgaGVpZ2h0OiA1cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA1cmVtO1xuICB6LWluZGV4OiAxMDAxOyB9XG5cbmRpdiNicy1zaXRld2lkZS1wb3B1cCAuYnMtcG9wdXAtaGlkZS1mb3JldmVyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5kaXYjYnMtc2l0ZXdpZGUtcG9wdXAucG9wdXAtYm90dG9tLWxlZnQgLmJzLXBvcHVwLWlubmVyLCBkaXYjYnMtc2l0ZXdpZGUtcG9wdXAucG9wdXAtYm90dG9tLXJpZ2h0IC5icy1wb3B1cC1pbm5lciwgZGl2I2JzLXNpdGV3aWRlLXBvcHVwLnBvcHVwLWJvdHRvbS1mdWxsIC5icy1wb3B1cC1pbm5lciB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdG9wOiBhdXRvOyB9XG5cbmRpdiNicy1zaXRld2lkZS1wb3B1cC5wb3B1cC1ib3R0b20tcmlnaHQgLmJzLXBvcHVwLWlubmVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuZGl2I2JzLXNpdGV3aWRlLXBvcHVwLnBvcHVwLWJvdHRvbS1mdWxsIC5icy1wb3B1cC1pbm5lciB7XG4gIGxlZnQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmRpdiNpbnN0YWZlZWQuaGFzLWFycm93cyB7XG4gIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBkaXYjaW5zdGFmZWVkLmhhcy1hcnJvd3MgLnNsaWNrLWFycm93IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjI3MkI0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgIGRpdiNpbnN0YWZlZWQuaGFzLWFycm93cyAuc2xpY2stYXJyb3c6aG92ZXIsIGRpdiNpbnN0YWZlZWQuaGFzLWFycm93cyAuc2xpY2stYXJyb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2IwMWYyMzsgfVxuICAgIGRpdiNpbnN0YWZlZWQuaGFzLWFycm93cyAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgZGl2I2luc3RhZmVlZC5oYXMtYXJyb3dzIC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbmRpdiNpbnN0YWZlZWQgYS5pbnN0YWdyYW0taW1hZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgZGl2I2luc3RhZmVlZCBhLmluc3RhZ3JhbS1pbWFnZSBzcGFuLmlnLWNhcHRpb24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDExNCwgMTgwLCAwLjg1KTtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gIGRpdiNpbnN0YWZlZWQgYS5pbnN0YWdyYW0taW1hZ2Ugc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGRpdiNpbnN0YWZlZWQgYS5pbnN0YWdyYW0taW1hZ2UgaW1nIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICBkaXYjaW5zdGFmZWVkIGEuaW5zdGFncmFtLWltYWdlOmhvdmVyIHNwYW4uaWctY2FwdGlvbiwgZGl2I2luc3RhZmVlZCBhLmluc3RhZ3JhbS1pbWFnZTpmb2N1cyBzcGFuLmlnLWNhcHRpb24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIGRpdiNpbnN0YWZlZWQgYS5pbnN0YWdyYW0taW1hZ2U6aG92ZXIgaW1nLCBkaXYjaW5zdGFmZWVkIGEuaW5zdGFncmFtLWltYWdlOmZvY3VzIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsgfVxuXG5kaXYjaW5zdGFmZWVkIC5zbGljay1saXN0LmRyYWdnYWJsZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfVxuICBkaXYjaW5zdGFmZWVkIC5zbGljay1saXN0LmRyYWdnYWJsZSAuc2xpY2stc2xpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBvcGFjaXR5OiAxOyB9XG5cbmJvZHkud29vY29tbWVyY2Ugc3Bhbi5yZXF1aXJlZCwgYm9keS53b29jb21tZXJjZS1wYWdlIHNwYW4ucmVxdWlyZWQsIGRpdi53b29jb21tZXJjZSBzcGFuLnJlcXVpcmVkIHtcbiAgY29sb3I6ICNiMDFmMjMgIWltcG9ydGFudDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZzpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3Rhci1yYXRpbmc6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgLnN0YXItcmF0aW5nOmJlZm9yZSB7XG4gIGNvbG9yOiAjYjk5YzAwOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLnN0YXItcmF0aW5nIHNwYW4sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3Rhci1yYXRpbmcgc3BhbiwgZGl2Lndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IHN0YXIgIWltcG9ydGFudDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyBzcGFuOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdGFyLXJhdGluZyBzcGFuOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICNiOTljMDAgIWltcG9ydGFudDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgcC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIGRpdi53b29jb21tZXJjZSBwLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIsIGRpdi53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LWZhbWlseTogXCJydWJpa1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMXJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBzcGFuLnNlcGFyYXRvciwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLCBkaXYud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgc3Bhbi5zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgMC42MjVyZW07IH1cbiAgYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSwgZGl2Lndvb2NvbW1lcmNlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlci5zaG9wLWxheW91dC1uYXJyb3ctY29udGVudCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyLnNob3AtbGF5b3V0LW5hcnJvdy1jb250ZW50LCBkaXYud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDUxLjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUge1xuICBwYWRkaW5nOiAxLjU2MjVyZW0gMC45Mzc1cmVtIDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZSB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMC45Mzc1cmVtIDEuMjVyZW07IH0gfVxuICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlIGgxLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUgaDEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZSBoMSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUgaDEgaSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlIGgxIGksIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZSBoMSBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW0gIWltcG9ydGFudDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1zaG9wLXRpdGxlLnNob3AtbGF5b3V0LW5hcnJvdy1jb250ZW50LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXNob3AtdGl0bGUuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2Utc2hvcC10aXRsZS5zaG9wLWxheW91dC1uYXJyb3ctY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNTEuODc1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1zaWRlYmFyLWxlZnQgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1sZWZ0IGFydGljbGUubWFpbi1jb250ZW50Lndvb2NvbW1lcmNlLWluZGV4IHtcbiAgb3JkZXI6IDI7IH1cblxuYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIge1xuICBvcmRlcjogMTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1yaWdodCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1yaWdodCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1yaWdodCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCB7XG4gIG9yZGVyOiAxOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1zaWRlYmFyLXJpZ2h0IGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtc2lkZWJhci1yaWdodCBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LXNpZGViYXItcmlnaHQgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyIHtcbiAgb3JkZXI6IDI7IH1cblxuYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LWZ1bGwtd2lkdGggYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LWZ1bGwtd2lkdGggYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LWZ1bGwtd2lkdGggYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcC5zaG9wLWxheW91dC1uYXJyb3ctY29udGVudCBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwLnNob3AtbGF5b3V0LW5hcnJvdy1jb250ZW50IGFydGljbGUubWFpbi1jb250ZW50Lndvb2NvbW1lcmNlLWluZGV4IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmRleCBoMS5wYWdlLXRpdGxlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZGV4IGgxLnBhZ2UtdGl0bGUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5kZXggaDEucGFnZS10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keS53b29jb21tZXJjZSBoMi53b29jb21tZXJjZS1wYWdlLXRpdGxlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSwgZGl2Lndvb2NvbW1lcmNlIGgyLndvb2NvbW1lcmNlLXBhZ2UtdGl0bGUge1xuICBmb250LXNpemU6IDEuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGJvZHkud29vY29tbWVyY2UgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSArIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSArIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCBkaXYud29vY29tbWVyY2UgaDIud29vY29tbWVyY2UtcGFnZS10aXRsZSArIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHtcbiAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2Utb3JkZXJpbmcsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1heC13aWR0aDogMTMuNzVyZW07IH0gfVxuXG5ib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC5vdXRvZnN0b2NrLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0Lm91dG9mc3RvY2ssIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3Qub3V0b2ZzdG9jayB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC5vdXRvZnN0b2NrOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC5vdXRvZnN0b2NrOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdC5vdXRvZnN0b2NrOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBjb250ZW50OiAnT3V0IG9mIHN0b2NrJztcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICByaWdodDogLTJyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAycmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdG9wOiAxLjg3NXJlbTtcbiAgICAgICAgei1pbmRleDogOTk7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSAuaW1hZ2Utd3JhcHBlciwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgLmltYWdlLXdyYXBwZXIsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgaW1nLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBpbWcsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW0gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwLjYyNXJlbSAwOyB9XG4gICAgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIHNwYW4ucHJpY2UsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIHNwYW4ucHJpY2UsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIHNwYW4ucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSBzcGFuLnByaWNlIHNwYW4uYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0OmhvdmVyID4gYSBpbWcsIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0OmZvY3VzID4gYSBpbWcsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3Q6aG92ZXIgPiBhIGltZywgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdDpmb2N1cyA+IGEgaW1nLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0OmhvdmVyID4gYSBpbWcsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3Q6Zm9jdXMgPiBhIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgcm90YXRlKDNkZWcpOyB9XG4gIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yLCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMywgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0LCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3Qge1xuICAgICAgbWFyZ2luOiAwIDAgMi44MTI1cmVtIDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QubGFzdCwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0Lmxhc3QsIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdC5sYXN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdC5sYXN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdC5sYXN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdC5sYXN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdC5sYXN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdC5sYXN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdC5sYXN0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi44MTI1cmVtIDA7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0LCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3Qge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3QsIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QubGFzdCwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0Lmxhc3QsIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdC5sYXN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdC5sYXN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdC5sYXN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdC5sYXN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdC5sYXN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdC5sYXN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdC5sYXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdC5sYXN0ICsgbGkucHJvZHVjdC5maXJzdCwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0Lmxhc3QgKyBsaS5wcm9kdWN0LmZpcnN0LCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QubGFzdCArIGxpLnByb2R1Y3QuZmlyc3QsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0Lmxhc3QgKyBsaS5wcm9kdWN0LmZpcnN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdC5sYXN0ICsgbGkucHJvZHVjdC5maXJzdCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QubGFzdCArIGxpLnByb2R1Y3QuZmlyc3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0Lmxhc3QgKyBsaS5wcm9kdWN0LmZpcnN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdC5sYXN0ICsgbGkucHJvZHVjdC5maXJzdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QubGFzdCArIGxpLnByb2R1Y3QuZmlyc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAyLjgxMjVyZW0gMCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCAuaW1hZ2Utd3JhcHBlciwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0IC5pbWFnZS13cmFwcGVyLCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgLmltYWdlLXdyYXBwZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IC5pbWFnZS13cmFwcGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCAuaW1hZ2Utd3JhcHBlciwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgLmltYWdlLXdyYXBwZXIsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IC5pbWFnZS13cmFwcGVyLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCAuaW1hZ2Utd3JhcHBlciwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IGEud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluaywgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3QgYS53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IGEud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluaywgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3QgYS53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCBhLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRDVDREI3O1xuICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNiMDFmMjM7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMC45Mzc1cmVtIDA7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3QgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbSAwLjYyNXJlbTsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IHNwYW4ucHJpY2UsIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCBzcGFuLnByaWNlLCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3Qgc3Bhbi5wcmljZSwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3Qgc3Bhbi5wcmljZSwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3Qgc3Bhbi5wcmljZSwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3Qgc3Bhbi5wcmljZSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3Qgc3Bhbi5wcmljZSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3Qgc3Bhbi5wcmljZSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3Qgc3Bhbi5wcmljZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QgZGl2LnN0YXItcmF0aW5nLCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3QgZGl2LnN0YXItcmF0aW5nLCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgZGl2LnN0YXItcmF0aW5nLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCBkaXYuc3Rhci1yYXRpbmcsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0IGRpdi5zdGFyLXJhdGluZywgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgZGl2LnN0YXItcmF0aW5nLCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCBkaXYuc3Rhci1yYXRpbmcsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTMgPiBsaS5wcm9kdWN0IGRpdi5zdGFyLXJhdGluZywgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgZGl2LnN0YXItcmF0aW5nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0IC5idXR0b24sIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy0zID4gbGkucHJvZHVjdCAuYnV0dG9uLCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgLmJ1dHRvbiwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QgLmJ1dHRvbiwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3QgLmJ1dHRvbiwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgLmJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3QgLmJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMyA+IGxpLnByb2R1Y3QgLmJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3Qge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTIgPiBsaS5wcm9kdWN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMuY29sdW1ucy0yID4gbGkucHJvZHVjdCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtMiA+IGxpLnByb2R1Y3Qge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGJvZHkud29vY29tbWVyY2UtcGFnZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0LCBkaXYud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCB7XG4gICAgICAgIGNsZWFyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIGJvZHkud29vY29tbWVyY2UgdWwucHJvZHVjdHMuY29sdW1ucy00ID4gbGkucHJvZHVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzLmNvbHVtbnMtNCA+IGxpLnByb2R1Y3QsIGRpdi53b29jb21tZXJjZSB1bC5wcm9kdWN0cy5jb2x1bW5zLTQgPiBsaS5wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LXRvcC13cmFwcGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIsIGRpdi53b29jb21tZXJjZSAucHJvZHVjdC10b3Atd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LXRvcC13cmFwcGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIsIGRpdi53b29jb21tZXJjZSAucHJvZHVjdC10b3Atd3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgYm9keS53b29jb21tZXJjZSAucHJvZHVjdC10b3Atd3JhcHBlciBzcGFuLm9uc2FsZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0LXRvcC13cmFwcGVyIHNwYW4ub25zYWxlLCBkaXYud29vY29tbWVyY2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIgc3Bhbi5vbnNhbGUge1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LXRvcC13cmFwcGVyIGRpdi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnksIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdC10b3Atd3JhcHBlciBkaXYud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LCBkaXYud29vY29tbWVyY2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIgZGl2Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LXRvcC13cmFwcGVyIGRpdi5zdW1tYXJ5LmVudHJ5LXN1bW1hcnksIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdC10b3Atd3JhcHBlciBkaXYuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5LCBkaXYud29vY29tbWVyY2UgLnByb2R1Y3QtdG9wLXdyYXBwZXIgZGl2LnN1bW1hcnkuZW50cnktc3VtbWFyeSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIHNwYW4ub25zYWxlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5vbnNhbGUsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZSB7XG4gIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMC41cmVtIDAuMDYyNXJlbSAwIDAgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogYXV0bzsgfVxuICBib2R5Lndvb2NvbW1lcmNlIHNwYW4ub25zYWxlOmJlZm9yZSwgYm9keS53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciwgYm9keS53b29jb21tZXJjZS1wYWdlIHNwYW4ub25zYWxlOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIHNwYW4ub25zYWxlOmFmdGVyLCBkaXYud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YmVmb3JlLCBkaXYud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YWZ0ZXIge1xuICAgIGJvcmRlcjogMS4wNjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgIGxlZnQ6IC0xLjA2MjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwLjA2MjVyZW07IH1cbiAgYm9keS53b29jb21tZXJjZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLm9uc2FsZTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSBzcGFuLm9uc2FsZTpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyMjcyQjQ7XG4gICAgdG9wOiAwOyB9XG4gIGJvZHkud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YWZ0ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSBzcGFuLm9uc2FsZTphZnRlciwgZGl2Lndvb2NvbW1lcmNlIHNwYW4ub25zYWxlOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjI3MkI0O1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdC5zYWxlIHNwYW4ub25zYWxlLCBkaXYud29vY29tbWVyY2UgLnByb2R1Y3Quc2FsZSBzcGFuLm9uc2FsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxlZnQ6IDEuODc1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogMDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGU6YmVmb3JlLCBib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGU6YWZ0ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdC5zYWxlIHNwYW4ub25zYWxlOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGU6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSAucHJvZHVjdC5zYWxlIHNwYW4ub25zYWxlOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGU6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0xLjA2MjVyZW07IH1cblxuYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC5idXR0b24sIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkLCBib2R5Lndvb2NvbW1lcmNlIC5idXR0b24sIGJvZHkud29vY29tbWVyY2UgLmJ1dHRvbi53Yy1iYWNrd2FyZCwgYm9keS53b29jb21tZXJjZSAuY29tbWVudC1mb3JtIHAuZm9ybS1zdWJtaXQgaW5wdXQsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b24sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b24ud2MtYmFja3dhcmQsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnV0dG9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJ1dHRvbi53Yy1iYWNrd2FyZCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jb21tZW50LWZvcm0gcC5mb3JtLXN1Ym1pdCBpbnB1dCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLmJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLmJ1dHRvbi53Yy1iYWNrd2FyZCwgZGl2Lndvb2NvbW1lcmNlIC5idXR0b24sIGRpdi53b29jb21tZXJjZSAuYnV0dG9uLndjLWJhY2t3YXJkLCBkaXYud29vY29tbWVyY2UgLmNvbW1lbnQtZm9ybSBwLmZvcm0tc3VibWl0IGlucHV0IHtcbiAgYmFja2dyb3VuZDogI2IwMWYyMyAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA2LjI1cmVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLmJ1dHRvbjpob3ZlciwgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC5idXR0b246Zm9jdXMsIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLmJ1dHRvbi53Yy1iYWNrd2FyZDpmb2N1cywgYm9keS53b29jb21tZXJjZSAuYnV0dG9uOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlIC5idXR0b246Zm9jdXMsIGJvZHkud29vY29tbWVyY2UgLmJ1dHRvbi53Yy1iYWNrd2FyZDpob3ZlciwgYm9keS53b29jb21tZXJjZSAuYnV0dG9uLndjLWJhY2t3YXJkOmZvY3VzLCBib2R5Lndvb2NvbW1lcmNlIC5jb21tZW50LWZvcm0gcC5mb3JtLXN1Ym1pdCBpbnB1dDpob3ZlciwgYm9keS53b29jb21tZXJjZSAuY29tbWVudC1mb3JtIHAuZm9ybS1zdWJtaXQgaW5wdXQ6Zm9jdXMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b246aG92ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b246Zm9jdXMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b24ud2MtYmFja3dhcmQ6aG92ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5idXR0b24ud2MtYmFja3dhcmQ6Zm9jdXMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnV0dG9uOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJ1dHRvbjpmb2N1cywgYm9keS53b29jb21tZXJjZS1wYWdlIC5idXR0b24ud2MtYmFja3dhcmQ6aG92ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnV0dG9uLndjLWJhY2t3YXJkOmZvY3VzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNvbW1lbnQtZm9ybSBwLmZvcm0tc3VibWl0IGlucHV0OmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNvbW1lbnQtZm9ybSBwLmZvcm0tc3VibWl0IGlucHV0OmZvY3VzLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uOmhvdmVyLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uOmZvY3VzLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkOmhvdmVyLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkOmZvY3VzLCBkaXYud29vY29tbWVyY2UgLmJ1dHRvbjpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIC5idXR0b246Zm9jdXMsIGRpdi53b29jb21tZXJjZSAuYnV0dG9uLndjLWJhY2t3YXJkOmhvdmVyLCBkaXYud29vY29tbWVyY2UgLmJ1dHRvbi53Yy1iYWNrd2FyZDpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIC5jb21tZW50LWZvcm0gcC5mb3JtLXN1Ym1pdCBpbnB1dDpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIC5jb21tZW50LWZvcm0gcC5mb3JtLXN1Ym1pdCBpbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG5cbmJvZHkud29vY29tbWVyY2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0LFxuYm9keS53b29jb21tZXJjZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydCxcbmJvZHkud29vY29tbWVyY2UtcGFnZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZSwgZGl2Lndvb2NvbW1lcmNlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydCxcbmRpdi53b29jb21tZXJjZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZSB7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydDphZnRlcixcbiAgYm9keS53b29jb21tZXJjZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZTphZnRlciwgYm9keS53b29jb21tZXJjZS1wYWdlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydDphZnRlcixcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlOmFmdGVyLCBkaXYud29vY29tbWVyY2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0OmFmdGVyLFxuICBkaXYud29vY29tbWVyY2UgLmJ1dHRvbi5wcm9kdWN0X3R5cGVfdmFyaWFibGU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDgwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3R0b206IDAuMTI1cmVtO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDAuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDIuNjI1cmVtOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0LmFkZGVkOmFmdGVyLFxuICBib2R5Lndvb2NvbW1lcmNlIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlLmFkZGVkOmFmdGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0LmFkZGVkOmFmdGVyLFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJ1dHRvbi5wcm9kdWN0X3R5cGVfdmFyaWFibGUuYWRkZWQ6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSAuYWRkX3RvX2NhcnRfYnV0dG9uLmFqYXhfYWRkX3RvX2NhcnQuYWRkZWQ6YWZ0ZXIsXG4gIGRpdi53b29jb21tZXJjZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZS5hZGRlZDphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydCArIGEuYWRkZWRfdG9fY2FydCxcbiAgYm9keS53b29jb21tZXJjZSAuYnV0dG9uLnByb2R1Y3RfdHlwZV92YXJpYWJsZSArIGEuYWRkZWRfdG9fY2FydCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5hZGRfdG9fY2FydF9idXR0b24uYWpheF9hZGRfdG9fY2FydCArIGEuYWRkZWRfdG9fY2FydCxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlICsgYS5hZGRlZF90b19jYXJ0LCBkaXYud29vY29tbWVyY2UgLmFkZF90b19jYXJ0X2J1dHRvbi5hamF4X2FkZF90b19jYXJ0ICsgYS5hZGRlZF90b19jYXJ0LFxuICBkaXYud29vY29tbWVyY2UgLmJ1dHRvbi5wcm9kdWN0X3R5cGVfdmFyaWFibGUgKyBhLmFkZGVkX3RvX2NhcnQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTkuNDM3NWVtKSB7XG4gIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCAud29vY29tbWVyY2UtaW5kZXgsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC53b29jb21tZXJjZS1pbmRleCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLndvb2NvbW1lcmNlLWluZGV4IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2LjI1cmVtKTtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCAud29vY29tbWVyY2UtaW5kZXgsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC53b29jb21tZXJjZS1pbmRleCwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLndvb2NvbW1lcmNlLWluZGV4IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pICFpbXBvcnRhbnQ7IH0gfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIGgzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCAud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgaDMsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIC53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cblxuYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkge1xuICB3aWR0aDogMzMuMzMzJTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpIGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCAud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAgIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCAud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGksIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIC53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaSwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIC53b29jb21tZXJjZS1pbmRleCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5zYWxlIHNwYW4ub25zYWxlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCAud29vY29tbWVyY2UtaW5kZXggLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkuc2FsZSBzcGFuLm9uc2FsZSwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgLndvb2NvbW1lcmNlLWluZGV4IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnNhbGUgc3Bhbi5vbnNhbGUge1xuICAgIGxlZnQ6IDEuODc1cmVtOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZDogI0Q1Q0RCNztcbiAgcGFkZGluZzogMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTkuNDM3NWVtKSB7XG4gICAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIge1xuICAgICAgd2lkdGg6IDEyLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIge1xuICAgICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDsgfSB9XG4gIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIGg2LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIGg2LCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIGg2IHtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIGg2OmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyBoNjpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgaDY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwN2EnO1xuICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcywgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0sIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gPiBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gYSwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSA+IGEge1xuICAgICAgY29sb3I6ICMyMjcyQjQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gaS5jbG9zZS1jYXQtbGlzdCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSBpLmNsb3NlLWNhdC1saXN0LCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtIGkuY2xvc2UtY2F0LWxpc3Qge1xuICAgICAgY29sb3I6ICNiMDFmMjM7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDAuMzEyNXJlbTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSA+IGkudG9nZ2xlLWNhdC1saXN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3QsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gPiBpLnRvZ2dsZS1jYXQtbGlzdCB7XG4gICAgICBjb2xvcjogI2IwMWYyMyAhaW1wb3J0YW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMC4yNXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3QuYW5pbWF0ZS1jaGV2cm9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3QuYW5pbWF0ZS1jaGV2cm9uLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3QuYW5pbWF0ZS1jaGV2cm9uIHtcbiAgICAgICAgbGVmdDogLTAuMzEyNXJlbTtcbiAgICAgICAgdG9wOiAwLjU2MjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3QuYW5pbWF0ZS1jaGV2cm9uIH4gaS5jbG9zZS1jYXQtbGlzdCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgPiBsaS5jYXQtaXRlbSA+IGkudG9nZ2xlLWNhdC1saXN0LmFuaW1hdGUtY2hldnJvbiB+IGkuY2xvc2UtY2F0LWxpc3QsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzID4gbGkuY2F0LWl0ZW0gPiBpLnRvZ2dsZS1jYXQtbGlzdC5hbmltYXRlLWNoZXZyb24gfiBpLmNsb3NlLWNhdC1saXN0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4sIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuLCBkaXYud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiB7XG4gICAgICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI0ZGRkZGRjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMS4wNjI1cmVtO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0OyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4uc2hvdy1jYXRzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbi5zaG93LWNhdHMsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuLnNob3ctY2F0cyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiBsaSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4gbGksIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuIGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNGRkZGRkY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgICAgYm9keS53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuIGxpIGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuIGxpIGEsIGRpdi53b29jb21tZXJjZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuIGxpIGEge1xuICAgICAgICAgIGNvbG9yOiAjNUI1QjVCO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuMzEyNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgLm1haW4td3JhcCBhc2lkZS5zaWRlYmFyIC53aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB1bC5jaGlsZHJlbiBsaS5jdXJyZW50LWNhdCA+IGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAubWFpbi13cmFwIGFzaWRlLnNpZGViYXIgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMgdWwucHJvZHVjdC1jYXRlZ29yaWVzIHVsLmNoaWxkcmVuIGxpLmN1cnJlbnQtY2F0ID4gYSwgZGl2Lndvb2NvbW1lcmNlIC5tYWluLXdyYXAgYXNpZGUuc2lkZWJhciAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB1bC5wcm9kdWN0LWNhdGVnb3JpZXMgdWwuY2hpbGRyZW4gbGkuY3VycmVudC1jYXQgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB7XG4gIG1hcmdpbi10b3A6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbSAhaW1wb3J0YW50OyB9XG4gIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4wNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicywgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFiczpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnM6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0OyB9XG4gICAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGksIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGksIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkge1xuICAgICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBtYXJnaW46IDAgMC4xMjVyZW0gMCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmFmdGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTphZnRlciwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGk6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaSBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDAuNjI1cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpmb2N1cywgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpob3ZlciwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNiMDFmMjM7IH1cbiAgICAgICAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGk6aG92ZXIgYSwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGk6Zm9jdXMgYSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpob3ZlciBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpOmZvY3VzIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGk6aG92ZXIgYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaTpmb2N1cyBhIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlLCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIsIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cywgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNENUNEQjc7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNENUNEQjcgIWltcG9ydGFudDsgfVxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUgYSwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyIGEsIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cyBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpob3ZlciBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cyBhLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpob3ZlciBhLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cyBhIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0Q1Q0RCNztcbiAgICAgICAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAgIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhLCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIgYSwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmZvY3VzIGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlIGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyIGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmZvY3VzIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyIGEsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmZvY3VzIGEge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0Q1Q0RCNztcbiAgICAgICAgICBib3gtc2hhZG93OiAwIC0wLjEyNXJlbSAwLjQzNzVyZW0gIzAwMWU2MTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICAgICAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlLCBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmU6aG92ZXIsIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cywgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYjAxZjIzO1xuICAgICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDAuNjI1cmVtOyB9XG4gICAgICAgICAgICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUgYSwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlOmhvdmVyIGEsIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cyBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpob3ZlciBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cyBhLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZSBhLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpob3ZlciBhLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicy53Yy10YWJzIGxpLmFjdGl2ZTpmb2N1cyBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfSB9XG4gIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjRDVDREI3O1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHA6bGFzdC1vZi10eXBlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgcDpsYXN0LW9mLXR5cGUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5LCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHtcbiAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNENUNEQjcgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIGgyLndvb2NvbW1lcmNlLVJldmlld3MtdGl0bGUsIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgaDIud29vY29tbWVyY2UtUmV2aWV3cy10aXRsZSBzcGFuLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgaDIud29vY29tbWVyY2UtUmV2aWV3cy10aXRsZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIGgyLndvb2NvbW1lcmNlLVJldmlld3MtdGl0bGUgc3BhbiwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIGgyLndvb2NvbW1lcmNlLVJldmlld3MtdGl0bGUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCBoMi53b29jb21tZXJjZS1SZXZpZXdzLXRpdGxlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgLnJlbGF0ZWQucHJvZHVjdHMgdWxbY2xhc3MqPVwiY29sdW1ucy1cIl0gbGksIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCAucmVsYXRlZC5wcm9kdWN0cyB1bFtjbGFzcyo9XCJjb2x1bW5zLVwiXSBsaSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIC5yZWxhdGVkLnByb2R1Y3RzIHVsW2NsYXNzKj1cImNvbHVtbnMtXCJdIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaS5jb21tZW50IC5jb21tZW50X2NvbnRhaW5lciBpbWcuYXZhdGFyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLmNvbW1lbnQgLmNvbW1lbnRfY29udGFpbmVyIGltZy5hdmF0YXIsIGRpdi53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgaW1nLmF2YXRhciB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbmJvZHkud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpLmNvbW1lbnQgLmNvbW1lbnRfY29udGFpbmVyIC5jb21tZW50LXRleHQsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgLmNvbW1lbnQtdGV4dCwgZGl2Lndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaS5jb21tZW50IC5jb21tZW50X2NvbnRhaW5lciAuY29tbWVudC10ZXh0IHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwIDAgMCAyLjVyZW07IH1cbiAgYm9keS53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgLmNvbW1lbnQtdGV4dCAuc3Rhci1yYXRpbmcsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgLmNvbW1lbnQtdGV4dCAuc3Rhci1yYXRpbmcsIGRpdi53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkuY29tbWVudCAuY29tbWVudF9jb250YWluZXIgLmNvbW1lbnQtdGV4dCAuc3Rhci1yYXRpbmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaS5jb21tZW50IC5jb21tZW50X2NvbnRhaW5lciAuY29tbWVudC10ZXh0IHAubWV0YSwgYm9keS53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaS5jb21tZW50IC5jb21tZW50X2NvbnRhaW5lciAuY29tbWVudC10ZXh0IHAubWV0YSwgZGl2Lndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaS5jb21tZW50IC5jb21tZW50X2NvbnRhaW5lciAuY29tbWVudC10ZXh0IHAubWV0YSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuYm9keS53b29jb21tZXJjZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciAjcmVwbHktdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciAjcmVwbHktdGl0bGUsIGRpdi53b29jb21tZXJjZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciAjcmVwbHktdGl0bGUge1xuICBjb2xvcjogIzIyNzJCNDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlICNyZXZpZXdzICNyZXZpZXdfZm9ybV93cmFwcGVyIHAuc3RhcnMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciBwLnN0YXJzLCBkaXYud29vY29tbWVyY2UgI3Jldmlld3MgI3Jldmlld19mb3JtX3dyYXBwZXIgcC5zdGFycyB7XG4gIGNvbG9yOiAjYjk5YzAwOyB9XG4gIGJvZHkud29vY29tbWVyY2UgI3Jldmlld3MgI3Jldmlld19mb3JtX3dyYXBwZXIgcC5zdGFycyBhOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzICNyZXZpZXdfZm9ybV93cmFwcGVyIHAuc3RhcnMgYTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAjcmV2aWV3cyAjcmV2aWV3X2Zvcm1fd3JhcHBlciBwLnN0YXJzIGE6YmVmb3JlIHtcbiAgICBjb2xvcjogI2I5OWMwMDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5wcm9kdWN0X21ldGEgc3Bhbi5za3Vfd3JhcHBlciBzdHJvbmcsIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdF9tZXRhIHNwYW4uc2t1X3dyYXBwZXIgc3Ryb25nLCBkaXYud29vY29tbWVyY2UgLnByb2R1Y3RfbWV0YSBzcGFuLnNrdV93cmFwcGVyIHN0cm9uZyB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLnByb2R1Y3RfbWV0YSBzcGFuLnBvc3RlZF9pbiBzdHJvbmcsIGJvZHkud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdF9tZXRhIHNwYW4ucG9zdGVkX2luIHN0cm9uZywgZGl2Lndvb2NvbW1lcmNlIC5wcm9kdWN0X21ldGEgc3Bhbi5wb3N0ZWRfaW4gc3Ryb25nIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuYm9keS53b29jb21tZXJjZSBmb3JtLmNhcnQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLmNhcnQsIGRpdi53b29jb21tZXJjZSBmb3JtLmNhcnQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgYm9keS53b29jb21tZXJjZSBmb3JtLmNhcnQgaW5wdXQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLmNhcnQgaW5wdXQsIGRpdi53b29jb21tZXJjZSBmb3JtLmNhcnQgaW5wdXQge1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgbWluLWhlaWdodDogMi43NXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0uY2FydCBidXR0b24sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLmNhcnQgYnV0dG9uLCBkaXYud29vY29tbWVyY2UgZm9ybS5jYXJ0IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgLmZsZXgtdmlld3BvcnQsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyAuZmxleC12aWV3cG9ydCwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIC5mbGV4LXZpZXdwb3J0IHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzY2NjY2NjsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIC5mbGV4LXZpZXdwb3J0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgLmZsZXgtdmlld3BvcnQgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2UsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyAuZmxleC12aWV3cG9ydCAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeS5pbWFnZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2Uge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICBjdXJzb3I6IGdyYWIgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIG9sLmZsZXgtY29udHJvbC1uYXYuZmxleC1jb250cm9sLXRodW1icywgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIG9sLmZsZXgtY29udHJvbC1uYXYuZmxleC1jb250cm9sLXRodW1icywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkuaW1hZ2VzIG9sLmZsZXgtY29udHJvbC1uYXYuZmxleC1jb250cm9sLXRodW1icyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyBvbC5mbGV4LWNvbnRyb2wtbmF2LmZsZXgtY29udHJvbC10aHVtYnMgbGksIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyBvbC5mbGV4LWNvbnRyb2wtbmF2LmZsZXgtY29udHJvbC10aHVtYnMgbGksIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyBvbC5mbGV4LWNvbnRyb2wtbmF2LmZsZXgtY29udHJvbC10aHVtYnMgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBoMi5wcm9kdWN0X3RpdGxlLmVudHJ5LXRpdGxlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBoMi5wcm9kdWN0X3RpdGxlLmVudHJ5LXRpdGxlLCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBoMi5wcm9kdWN0X3RpdGxlLmVudHJ5LXRpdGxlIHtcbiAgICBvcmRlcjogMTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LWRldGFpbHNfX3Nob3J0LWRlc2NyaXB0aW9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSAud29vY29tbWVyY2UtcHJvZHVjdC1kZXRhaWxzX19zaG9ydC1kZXNjcmlwdGlvbiwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgLndvb2NvbW1lcmNlLXByb2R1Y3QtZGV0YWlsc19fc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgIG9yZGVyOiAyOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBwLnByaWNlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBwLnByaWNlLCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBwLnByaWNlIHtcbiAgICBvcmRlcjogNDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBwLnByaWNlIHN0cm9uZywgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgcC5wcmljZSBzdHJvbmcsIGRpdi53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IHAucHJpY2Ugc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBmb3JtLmNhcnQsIGRpdi53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IGZvcm0uY2FydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvcmRlcjogNTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBmb3JtLmNhcnQgLnF1YW50aXR5LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBmb3JtLmNhcnQgLnF1YW50aXR5LCBkaXYud29vY29tbWVyY2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBmb3JtLmNhcnQgLnF1YW50aXR5IHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5pbnB1dC10ZXh0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLnN1bW1hcnkuZW50cnktc3VtbWFyeSBmb3JtLmNhcnQgLnF1YW50aXR5IGlucHV0LmlucHV0LXRleHQsIGRpdi53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IGZvcm0uY2FydCAucXVhbnRpdHkgaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IGJ1dHRvbiwgYm9keS53b29jb21tZXJjZS1wYWdlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IGJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkgZm9ybS5jYXJ0IGJ1dHRvbiB7XG4gICAgICBtYXgtaGVpZ2h0OiAyLjc1cmVtO1xuICAgICAgb3JkZXI6IDI7IH1cbiAgYm9keS53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC5wcm9kdWN0X21ldGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC5wcm9kdWN0X21ldGEsIGRpdi53b29jb21tZXJjZSAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IC5wcm9kdWN0X21ldGEge1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgIzIyNzJCNDtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgb3JkZXI6IDM7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMCAwLjYyNXJlbTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycywgYm9keS53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycywgZGl2Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjMjI3MkI0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgYm9keS53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGksIGJvZHkud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGksIGRpdi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGkge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMS44NzVyZW07IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBzcGFuLmN1cnJlbnQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGkgc3Bhbi5jdXJyZW50LCBkaXYud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIHNwYW4uY3VycmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYjAxZjIzO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIGEucGFnZS1udW1iZXJzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIGEucGFnZS1udW1iZXJzLCBkaXYud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIGEucGFnZS1udW1iZXJzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIGEucGFnZS1udW1iZXJzOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVyczpmb2N1cywgYm9keS53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVyczpob3ZlciwgYm9keS53b29jb21tZXJjZS1wYWdlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVyczpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVyczpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyBsaSBhLnBhZ2UtbnVtYmVyczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuYm9keS53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCwgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1heC13aWR0aDogMTIuNXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgYm9keS53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIGlucHV0W3R5cGU9bnVtYmVyXSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgaW5wdXRbdHlwZT1udW1iZXJdLCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg4MHB4LzIpOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMy4xMjVyZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlcixcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50LCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLFxuICBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcbiAgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgYm9keS53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCwgZGl2Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gIGRpdi53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjI3MkI0O1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogQXJpYWwgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMi4xODc1cmVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6aG92ZXIsIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpmb2N1cyxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmZvY3VzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6Zm9jdXMsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6Zm9jdXMsIGRpdi53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyLCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpmb2N1cyxcbiAgICBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3ZlcixcbiAgICBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIGRpdi53b29jb21tZXJjZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gMCAwIDAuMTg3NXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50LCBkaXYud29vY29tbWVyY2UgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwLjE4NzVyZW0gMC4xODc1cmVtIDA7IH1cblxuYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUge1xuICBib3JkZXItY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjMjI3MkI0O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LW5hbWUsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LW5hbWUsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LW5hbWUge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1wcmljZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtcXVhbnRpdHksXG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LXN1YnRvdGFsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1wcmljZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1xdWFudGl0eSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1zdWJ0b3RhbCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtcHJpY2UsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtcXVhbnRpdHksXG4gICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LXJlbW92ZSwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRoZWFkIHRyIHRoLnByb2R1Y3QtcmVtb3ZlLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1yZW1vdmUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHdpZHRoOiAycmVtOyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBib3JkZXItY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiA0LjY4NzVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwgYSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBpbWcsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBpbWcsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXByaWNlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1wcmljZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcHJpY2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcXVhbnRpdHksIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXF1YW50aXR5IC5xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcXVhbnRpdHkgLnF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXN1YnRvdGFsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1zdWJ0b3RhbCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3Qtc3VidG90YWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcmVtb3ZlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1yZW1vdmUsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXJlbW92ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyLjYyNXJlbTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgdHIgdGQucHJvZHVjdC1yZW1vdmUgYS5yZW1vdmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0LXJlbW92ZSBhLnJlbW92ZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyIHRkLnByb2R1Y3QtcmVtb3ZlIGEucmVtb3ZlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyOmxhc3Qtb2YtdHlwZSwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyOmxhc3Qtb2YtdHlwZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IHRyOmxhc3Qtb2YtdHlwZSB7XG4gICAgYmFja2dyb3VuZDogIzIyNzJCNDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IGlucHV0LmlucHV0LXRleHQucXR5LnRleHQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSBpbnB1dC5pbnB1dC10ZXh0LnF0eS50ZXh0LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgaW5wdXQuaW5wdXQtdGV4dC5xdHkudGV4dCB7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzIyNzJCNDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLnF1YW50aXR5LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLnF1YW50aXR5LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLnF1YW50aXR5IHtcbiAgICBtYXgtd2lkdGg6IDEyLjVyZW07IH1cbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b24sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b24sIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzIyNzJCNCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgbWF4LWhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44NzVyZW07IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5jb3Vwb24gLmJ1dHRvbjpob3ZlciwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b246Zm9jdXMsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b246aG92ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b246Zm9jdXMsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b246aG92ZXIsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5jb3Vwb24gaW5wdXQjY291cG9uX2NvZGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuY291cG9uIGlucHV0I2NvdXBvbl9jb2RlLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmNvdXBvbiBpbnB1dCNjb3Vwb25fY29kZSB7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzIyNzJCNDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgICBtaW4td2lkdGg6IDcuNXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0sIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMjI3MkI0ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMi41cmVtOyB9XG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXTpob3ZlciwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXTpmb2N1cywgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jYXJ0LWZvcm0gdGFibGUgdGJvZHkgLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl06Zm9jdXMsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB0Ym9keSAuYnV0dG9uW25hbWU9XCJ1cGRhdGVfY2FydFwiXTpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2FydC1mb3JtIHRhYmxlIHRib2R5IC5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuYm9keS53b29jb21tZXJjZSAud2MtcHJvY2VlZC10by1jaGVja291dCwgYm9keS53b29jb21tZXJjZS1wYWdlIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0LCBkaXYud29vY29tbWVyY2UgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xuICBwYWRkaW5nOiAwOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscywgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjg3NXJlbSk7IH1cbiAgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jb3Vwb24ge1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jb3Vwb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jb3Vwb24gbGFiZWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uIGxhYmVsLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiBsYWJlbCB7XG4gICAgICBjb2xvcjogIzIyNzJCNDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInJ1YmlrXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gICAgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uIGlucHV0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNvdXBvbiBpbnB1dCwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jb3Vwb24gaW5wdXQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjI3MkI0ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uIC5idXR0b24sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uIC5idXR0b24sIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY291cG9uIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMge1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgaDIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgaDIsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB7XG4gICAgICBib3JkZXItY29sb3I6ICMyMjcyQjQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIHRhYmxlIHRyLm9yZGVyLXRvdGFsIHRkIHNwYW4sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgdGFibGUgdHIub3JkZXItdG90YWwgdGQgc3BhbiwgZGl2Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyB0YWJsZSB0ci5vcmRlci10b3RhbCB0ZCBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gICAgYm9keS53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgYnV0dG9uLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0sIGJvZHkud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgYnV0dG9uLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0sIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgYnV0dG9uLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyBidXR0b24uYnV0dG9uOmRpc2FibGVkLCBib2R5Lndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIGRpdi5jYXJ0X3RvdGFscyBidXR0b24uYnV0dG9uOmRpc2FibGVkLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCBkaXYud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgZGl2LmNhcnRfdG90YWxzIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQsIGRpdi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyBkaXYuY2FydF90b3RhbHMgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0ge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDIuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLFxuYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24sIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLFxuYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24sXG5kaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIHtcbiAgYmFja2dyb3VuZDogI0Q1Q0RCNyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgMS41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAhaW1wb3J0YW50OyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiA+IHAsXG4gIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uID4gcCwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gPiBwLFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uID4gcCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gPiBwLFxuICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uID4gcCB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlLFxuICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlLFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC53b29jb21tZXJjZS1mb3JtLWNvdXBvbi10b2dnbGUsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC53b29jb21tZXJjZS1mb3JtLWNvdXBvbi10b2dnbGUsXG4gIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LFxuICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3csIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdyxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3csIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdyxcbiAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3Qge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHdpZHRoOiAxMi41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCxcbiAgICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3Qge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCBidXR0b24sXG4gICAgICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gLmZvcm0tcm93LmZvcm0tcm93LWxhc3QgYnV0dG9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCBidXR0b24sXG4gICAgICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCBidXR0b24sIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IGJ1dHRvbixcbiAgICAgICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWZvcm0tY291cG9uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1mb3JtLWNvdXBvbiBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1mb3JtLWNvdXBvbiBpbnB1dFt0eXBlPVwidGV4dFwiXSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGJvcmRlci1jb2xvcjogIzIyNzJCNCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAyLjc1cmVtOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLmJpbGxpbmctc2hpcHBpbmctdGFicywgYm9keS53b29jb21tZXJjZS1wYWdlIC5iaWxsaW5nLXNoaXBwaW5nLXRhYnMsIGRpdi53b29jb21tZXJjZSAuYmlsbGluZy1zaGlwcGluZy10YWJzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjI3MkI0OyB9XG5cbmJvZHkud29vY29tbWVyY2UgLmJpbGxpbmctc2hpcHBpbmctd3JhcHBlciwgYm9keS53b29jb21tZXJjZS1wYWdlIC5iaWxsaW5nLXNoaXBwaW5nLXdyYXBwZXIsIGRpdi53b29jb21tZXJjZSAuYmlsbGluZy1zaGlwcGluZy13cmFwcGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjI3MkI0O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2Utb3V0IDBzO1xuICAtbW96LXRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1zLXRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlLW91dCAwcztcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLmJpbGxpbmctc2hpcHBpbmctd3JhcHBlciAuc2hpcHBpbmctZGV0YWlscywgYm9keS53b29jb21tZXJjZSAuYmlsbGluZy1zaGlwcGluZy13cmFwcGVyIC5iaWxsaW5nLWRldGFpbHMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYmlsbGluZy1zaGlwcGluZy13cmFwcGVyIC5zaGlwcGluZy1kZXRhaWxzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLmJpbGxpbmctc2hpcHBpbmctd3JhcHBlciAuYmlsbGluZy1kZXRhaWxzLCBkaXYud29vY29tbWVyY2UgLmJpbGxpbmctc2hpcHBpbmctd3JhcHBlciAuc2hpcHBpbmctZGV0YWlscywgZGl2Lndvb2NvbW1lcmNlIC5iaWxsaW5nLXNoaXBwaW5nLXdyYXBwZXIgLmJpbGxpbmctZGV0YWlscyB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG5cbmJvZHkud29vY29tbWVyY2Ugc3Bhbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biwgYm9keS53b29jb21tZXJjZS1wYWdlIHNwYW4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24sIGRpdi53b29jb21tZXJjZSBzcGFuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgbWFyZ2luLXRvcDogLTAuMDYyNXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIHNwYW4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24gaW5wdXQuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biBpbnB1dC5zZWxlY3QyLXNlYXJjaF9fZmllbGQsIGRpdi53b29jb21tZXJjZSBzcGFuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIGlucHV0LnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjI3MkI0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBib3gtc2hhZG93OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keS53b29jb21tZXJjZS53b29jb21tZXJjZS1jaGVja291dCBmb3JtLmNoZWNrb3V0X2NvdXBvbiwgYm9keS53b29jb21tZXJjZS1wYWdlLndvb2NvbW1lcmNlLWNoZWNrb3V0IGZvcm0uY2hlY2tvdXRfY291cG9uLCBkaXYud29vY29tbWVyY2Uud29vY29tbWVyY2UtY2hlY2tvdXQgZm9ybS5jaGVja291dF9jb3Vwb24ge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbmJvZHkud29vY29tbWVyY2Uud29vY29tbWVyY2UtY2hlY2tvdXQgc3Bhbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biwgYm9keS53b29jb21tZXJjZS1wYWdlLndvb2NvbW1lcmNlLWNoZWNrb3V0IHNwYW4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24sIGRpdi53b29jb21tZXJjZS53b29jb21tZXJjZS1jaGVja291dCBzcGFuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgbWFyZ2luLXRvcDogLTAuODEyNXJlbTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgaW5wdXQuaW5wdXQtdGV4dCwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyB0ZXh0YXJlYSwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24sIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgc2VsZWN0LFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIGlucHV0LmlucHV0LXRleHQsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgdGV4dGFyZWEsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uLFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIHNlbGVjdCxcbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaW5wdXQuaW5wdXQtdGV4dCxcbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgdGV4dGFyZWEsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbixcbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgc2VsZWN0LFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIGlucHV0LmlucHV0LXRleHQsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgdGV4dGFyZWEsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uLFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIHNlbGVjdCwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIGlucHV0LmlucHV0LXRleHQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyB0ZXh0YXJlYSwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIHNlbGVjdCxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIGlucHV0LmlucHV0LXRleHQsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyB0ZXh0YXJlYSxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbixcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIHNlbGVjdCxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBpbnB1dC5pbnB1dC10ZXh0LFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIHRleHRhcmVhLFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbixcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBzZWxlY3QsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyBpbnB1dC5pbnB1dC10ZXh0LFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgdGV4dGFyZWEsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24sXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyBzZWxlY3QsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyBpbnB1dC5pbnB1dC10ZXh0LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgdGV4dGFyZWEsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24sIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyBzZWxlY3QsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBpbnB1dC5pbnB1dC10ZXh0LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgdGV4dGFyZWEsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24sXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBzZWxlY3QsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaW5wdXQuaW5wdXQtdGV4dCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyB0ZXh0YXJlYSxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24sXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgc2VsZWN0LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgaW5wdXQuaW5wdXQtdGV4dCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIHRleHRhcmVhLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgc2VsZWN0IHtcbiAgICBib3JkZXItY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAyLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgbGFiZWwsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgbGFiZWwsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGxhYmVsLFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIGxhYmVsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgbGFiZWwsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBsYWJlbCxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBsYWJlbCxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIGxhYmVsLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgbGFiZWwsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBsYWJlbCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBsYWJlbCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIGxhYmVsIHtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyxcbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdywgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdyxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdyxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3csXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3csIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3csXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3csXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCwgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWxhc3QsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LWZpcnN0LFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctbGFzdCxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1maXJzdCxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0LFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctZmlyc3QsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy1sYXN0IHtcbiAgICAgIHdpZHRoOiA0OS4yNSUgIWltcG9ydGFudDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlLCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsXG4gICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLFxuICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlLFxuICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlLFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSxcbiAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzLFxuICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSBpbnB1dCwgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgdGV4dGFyZWEsIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIGlucHV0LCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyB0ZXh0YXJlYSxcbiAgICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIGlucHV0LFxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgdGV4dGFyZWEsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyBpbnB1dCxcbiAgICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIHRleHRhcmVhLFxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIGlucHV0LFxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIHRleHRhcmVhLFxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIGlucHV0LFxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIHRleHRhcmVhLFxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSxcbiAgICAgIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIGlucHV0LFxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgdGV4dGFyZWEsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIGlucHV0LFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSxcbiAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIHRleHRhcmVhLFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgaW5wdXQsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSxcbiAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIGlucHV0LFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgdGV4dGFyZWEsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIGlucHV0LFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSB0ZXh0YXJlYSxcbiAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cubm90ZXMgaW5wdXQsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIHRleHRhcmVhLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIGlucHV0LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIHRleHRhcmVhLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIGlucHV0LCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIHRleHRhcmVhLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSBpbnB1dCxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgdGV4dGFyZWEsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIGlucHV0LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyB0ZXh0YXJlYSxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93LmZvcm0tcm93LXdpZGU6bGFzdC1vZi10eXBlIGlucHV0LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgdGV4dGFyZWEsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5mb3JtLXJvdy5ub3RlcyBpbnB1dCxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIHRleHRhcmVhLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5mb3JtLXJvdy13aWRlOmxhc3Qtb2YtdHlwZSBpbnB1dCxcbiAgICAgIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuZm9ybS1yb3cuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUgdGV4dGFyZWEsXG4gICAgICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLmZvcm0tcm93Lm5vdGVzIGlucHV0LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5mb3JtLXJvdy5ub3RlcyB0ZXh0YXJlYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1jb250YWluZXIsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuc2VsZWN0Mi1jb250YWluZXIsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5zZWxlY3QyLWNvbnRhaW5lciwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuc2VsZWN0Mi1jb250YWluZXIsXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsXG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgbGluZS1oZWlnaHQ6IDIuMzc1cmVtOyB9XG4gIGJvZHkud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LFxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdywgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIC5zZWxlY3QyLXNlbGVjdGlvbiBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgYm9keS53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyAuc2VsZWN0Mi1zZWxlY3Rpb24gc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csXG4gIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LFxuICBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtYWRkaXRpb25hbC1maWVsZHMgLnNlbGVjdDItc2VsZWN0aW9uIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBtaW4taGVpZ2h0OiAyLjM3NXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBoMyNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGgzI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDMjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBoMyNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIGxhYmVsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGgzI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MgbGFiZWwsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDMjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyBsYWJlbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBoMyNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIGxhYmVsIGlucHV0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGgzI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MgbGFiZWwgaW5wdXQsIGRpdi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDMjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyBsYWJlbCBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMCAwLjEyNXJlbSAwIDAuNjI1cmVtO1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMgaDMjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyBsYWJlbCBzcGFuLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIGgzI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MgbGFiZWwgc3BhbiwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkcyBoMyNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzIGxhYmVsIHNwYW4ge1xuICAgICAgICBjb2xvcjogIzIyNzJCNDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicnViaWtcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgICBvcmRlcjogMTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0xLCBib2R5Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0yLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAjY3VzdG9tZXJfZGV0YWlscyAuY29sLTEsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIC5jb2wtMiwgZGl2Lndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0xLCBkaXYud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAjY3VzdG9tZXJfZGV0YWlscyAuY29sLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIHAudGFicy10aXRsZS5jaGVja291dC1jb250LWJ0biwgYm9keS53b29jb21tZXJjZS1wYWdlIHAudGFicy10aXRsZS5jaGVja291dC1jb250LWJ0biwgZGl2Lndvb2NvbW1lcmNlIHAudGFicy10aXRsZS5jaGVja291dC1jb250LWJ0biB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAxLjg3NXJlbSAtMXJlbSAwIDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbmJvZHkud29vY29tbWVyY2UgaDMjb3JkZXJfcmV2aWV3X2hlYWRpbmcsIGJvZHkud29vY29tbWVyY2UtcGFnZSBoMyNvcmRlcl9yZXZpZXdfaGVhZGluZywgZGl2Lndvb2NvbW1lcmNlIGgzI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcywgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBmb250LWZhbWlseTogXCJydWJpa1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwOyB9XG4gIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0aGVhZCwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGhlYWQsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRoZWFkLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoZWFkLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0aGVhZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0aGVhZCB0aC5wcm9kdWN0LW5hbWUsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoZWFkIHRoLnByb2R1Y3QtbmFtZSwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGhlYWQgdGgucHJvZHVjdC1uYW1lLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoZWFkIHRoLnByb2R1Y3QtbmFtZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGhlYWQgdGgucHJvZHVjdC1uYW1lLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoZWFkIHRoLnByb2R1Y3QtbmFtZSB7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRoZWFkIHRoLnByb2R1Y3QtdG90YWwsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoZWFkIHRoLnByb2R1Y3QtdG90YWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRoZWFkIHRoLnByb2R1Y3QtdG90YWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGhlYWQgdGgucHJvZHVjdC10b3RhbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGhlYWQgdGgucHJvZHVjdC10b3RhbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0aGVhZCB0aC5wcm9kdWN0LXRvdGFsIHtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5LCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHksIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHksIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0ICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdGgsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRoLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0aCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdGgge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRkLCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdGgsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRkLCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0aCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdGQsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRoLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRkLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdGgge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzIyNzJCNCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGl0bGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGJvZHkgdHIuY2FydC1pdGVtIHRkLnByb2R1Y3QtdG90YWwgc3Bhbi5hbW91bnQsXG4gICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50LFxuICAgIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50LFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1pdGVtIHRkLnByb2R1Y3QtdG90YWwgc3Bhbi5hbW91bnQsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB0ci5jYXJ0LWl0ZW0gdGQucHJvZHVjdC10b3RhbCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LWl0ZW0gdGQucHJvZHVjdC10b3RhbCBzcGFuLmFtb3VudCxcbiAgICBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Ym9keSB0ci5jYXJ0LWl0ZW0gdGQucHJvZHVjdC10b3RhbCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRib2R5IHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50LFxuICAgIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGJvZHkgdHIuY2FydC1pdGVtIHRkLnByb2R1Y3QtdG90YWwgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gICAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjI3MkI0ICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdGgsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ZCwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdGgsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRkLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0aCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdGQsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdGgsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0aCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ZCB7XG4gICAgICBib3JkZXItY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ciB0ZCBzcGFuLmFtb3VudCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQsXG4gICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ciB0ZCBzcGFuLmFtb3VudCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyIHRkIHNwYW4uYW1vdW50LFxuICAgIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyIHRkIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIgdGQgc3Bhbi5hbW91bnQsXG4gICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ciB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIuc2hpcHBpbmcgdGQsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLnNoaXBwaW5nIHRkLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5zaGlwcGluZyB0ZCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5zaGlwcGluZyB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIuc2hpcHBpbmcgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIuc2hpcHBpbmcgdGQge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIudGF4LXRvdGFsLCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci50YXgtdG90YWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLnRheC10b3RhbCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci50YXgtdG90YWwsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLnRheC10b3RhbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci50YXgtdG90YWwge1xuICAgICAgYmFja2dyb3VuZDogIzIyNzJCNCAhaW1wb3J0YW50OyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIudGF4LXRvdGFsIHRoLCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIudGF4LXRvdGFsIHRkLCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci50YXgtdG90YWwgdGgsIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLnRheC10b3RhbCB0ZCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIudGF4LXRvdGFsIHRoLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci50YXgtdG90YWwgdGQsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIudGF4LXRvdGFsIHRoLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLnRheC10b3RhbCB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIudGF4LXRvdGFsIHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci50YXgtdG90YWwgdGQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIudGF4LXRvdGFsIHRoLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLnRheC10b3RhbCB0ZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzIyNzJCNCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsLCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLm9yZGVyLXRvdGFsIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0Zm9vdCB0ci5vcmRlci10b3RhbCB0ZCBzdHJvbmcgc3Bhbi5hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50LFxuICAgICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRmb290IHRyLm9yZGVyLXRvdGFsIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgdGQgc3Ryb25nIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LFxuICAgICAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRmb290IHRyLm9yZGVyLXRvdGFsIHNtYWxsLmluY2x1ZGVzX3RheCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sLCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGZvb3QgdHIub3JkZXItdG90YWwgc21hbGwuaW5jbHVkZXNfdGF4IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Zm9vdCB0ci5vcmRlci10b3RhbCBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQgc3Bhbi53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxuYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyIHRoLCBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIgdGQsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyIHRoLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0ciB0ZCwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIgdGgsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyIHRkIHtcbiAgcGFkZGluZzogMC41NjI1cmVtIDAuNzVyZW07IH1cblxuYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIHAsIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIHAsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyBhLnNoaXBwaW5nLWNhbGN1bGF0b3ItYnV0dG9uLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyBhLnNoaXBwaW5nLWNhbGN1bGF0b3ItYnV0dG9uLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyBhLnNoaXBwaW5nLWNhbGN1bGF0b3ItYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3csIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHBhZGRpbmc6IDA7IH1cbiAgYm9keS53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdyAuc2VsZWN0MiwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IC5zZWxlY3QyLCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgbWluLWhlaWdodDogMi42MjVyZW07IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbiwgYm9keS53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbiwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICBib3JkZXItY29sb3I6ICMyMjcyQjQ7XG4gICAgICBtaW4taGVpZ2h0OiAyLjYyNXJlbTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IC5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdyAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdyAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LCBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgICBkaXYud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLnNlbGVjdDIgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICBsaW5lLWhlaWdodDogMi42MjVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAyLjYyNXJlbTsgfVxuICBib2R5Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBwLmZvcm0tcm93IC5pbnB1dC10ZXh0LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIHAuZm9ybS1yb3cgLmlucHV0LXRleHQsIGRpdi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gcC5mb3JtLXJvdyAuaW5wdXQtdGV4dCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjI3MkI0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBib3gtc2hhZG93OiAwOyB9XG5cbmJvZHkud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5zaGlwcGluZyAuc2hpcHBpbmctY2FsY3VsYXRvci1mb3JtIGJ1dHRvbi5idXR0b24sIGJvZHkud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlIHRyLnNoaXBwaW5nIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0gYnV0dG9uLmJ1dHRvbiwgZGl2Lndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHIuc2hpcHBpbmcgLnNoaXBwaW5nLWNhbGN1bGF0b3ItZm9ybSBidXR0b24uYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbmJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50LCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB7XG4gIGJhY2tncm91bmQ6ICMyMjcyQjQ7IH1cbiAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMsXG4gIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzLFxuICBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzLFxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyxcbiAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzLFxuICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMge1xuICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzID4gbGkgPiBsYWJlbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzID4gbGkgPiBsYWJlbCwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgPiBsaSA+IGxhYmVsLFxuICAgIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgPiBsaSA+IGxhYmVsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzID4gbGkgPiBsYWJlbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgPiBsaSA+IGxhYmVsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzID4gbGkgPiBsYWJlbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgPiBsaSA+IGxhYmVsLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzID4gbGkgPiBsYWJlbCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgPiBsaSA+IGxhYmVsLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzID4gbGkgPiBsYWJlbCxcbiAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgPiBsaSA+IGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsLFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkud2NfcGF5bWVudF9tZXRob2QgbGFiZWwsXG4gICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLndjX3BheW1lbnRfbWV0aG9kIGxhYmVsLFxuICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS53Y19wYXltZW50X21ldGhvZCBsYWJlbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3BheXBhbCBhLmFib3V0X3BheXBhbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3BheXBhbCBhLmFib3V0X3BheXBhbCwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2RfcGF5cGFsIGEuYWJvdXRfcGF5cGFsLFxuICAgIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2RfcGF5cGFsIGEuYWJvdXRfcGF5cGFsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3BheXBhbCBhLmFib3V0X3BheXBhbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2RfcGF5cGFsIGEuYWJvdXRfcGF5cGFsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3BheXBhbCBhLmFib3V0X3BheXBhbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2RfcGF5cGFsIGEuYWJvdXRfcGF5cGFsLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3BheXBhbCBhLmFib3V0X3BheXBhbCxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2RfcGF5cGFsIGEuYWJvdXRfcGF5cGFsLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3BheXBhbCBhLmFib3V0X3BheXBhbCxcbiAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2RfcGF5cGFsIGEuYWJvdXRfcGF5cGFsIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsLFxuICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsXG4gICAgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsLFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsLFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsLFxuICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsLFxuICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxLjU2MjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwZW0pIHtcbiAgICAgICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgICAgICBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZywgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLFxuICAgICAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgbGFiZWwgaW1nLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsXG4gICAgICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBsYWJlbCBpbWcsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyxcbiAgICAgICAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGxhYmVsIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEuMjVyZW07IH0gfVxuICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLFxuICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLFxuICAgIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsXG4gICAgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlLFxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSxcbiAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUsXG4gICAgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLFxuICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZTpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlOmJlZm9yZSxcbiAgICAgIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlOmJlZm9yZSxcbiAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZTpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZTpiZWZvcmUsXG4gICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGU6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlOmJlZm9yZSxcbiAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZTpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDFlbSBzb2xpZCAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgaW5wdXQjd2Mtc3RyaXBlLW5ldy1wYXltZW50LW1ldGhvZCxcbiAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsXG4gICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgaW5wdXQjd2Mtc3RyaXBlLW5ldy1wYXltZW50LW1ldGhvZCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kLFxuICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGlucHV0I3djLXN0cmlwZS1uZXctcGF5bWVudC1tZXRob2QsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgaW5wdXQjd2Mtc3RyaXBlLW5ldy1wYXltZW50LW1ldGhvZCxcbiAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBpbnB1dCN3Yy1zdHJpcGUtbmV3LXBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuMzEyNXJlbSAwIDAgIWltcG9ydGFudDsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93LFxuICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyxcbiAgICAgIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93LCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyxcbiAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93LFxuICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3csXG4gICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93LCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyxcbiAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCxcbiAgICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCxcbiAgICAgICAgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93IGxhYmVsLFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93IGxhYmVsLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCxcbiAgICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyBsYWJlbCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgbGFiZWwsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93IGxhYmVsLFxuICAgICAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93IGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogIzIyNzJCNDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1leHAtZWxlbWVudCxcbiAgICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY3ZjLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWN2Yy1lbGVtZW50LCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jYXJkLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jdmMtZWxlbWVudCxcbiAgICAgICAgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jYXJkLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY3ZjLWVsZW1lbnQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWN2Yy1lbGVtZW50LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jdmMtZWxlbWVudCwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jYXJkLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY3ZjLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jYXJkLWVsZW1lbnQsXG4gICAgICAgIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1leHAtZWxlbWVudCxcbiAgICAgICAgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWN2Yy1lbGVtZW50LCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWNhcmQtZWxlbWVudCxcbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1leHAtZWxlbWVudCxcbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndjX3BheW1lbnRfbWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jdmMtZWxlbWVudCxcbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWNhcmQtZWxlbWVudCxcbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY3ZjLWVsZW1lbnQsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53Y19wYXltZW50X21ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWV4cC1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud2NfcGF5bWVudF9tZXRob2RzIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSBkaXYucGF5bWVudF9ib3gucGF5bWVudF9tZXRob2Rfc3RyaXBlIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIC5mb3JtLXJvdyAjc3RyaXBlLWN2Yy1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtY2FyZC1lbGVtZW50LFxuICAgICAgICBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgbGkucGF5bWVudF9tZXRob2Rfc3RyaXBlIGRpdi5wYXltZW50X2JveC5wYXltZW50X21ldGhvZF9zdHJpcGUgZmllbGRzZXQjd2Mtc3RyaXBlLWNjLWZvcm0gLmZvcm0tcm93ICNzdHJpcGUtZXhwLWVsZW1lbnQsXG4gICAgICAgIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyBsaS5wYXltZW50X21ldGhvZF9zdHJpcGUgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSBmaWVsZHNldCN3Yy1zdHJpcGUtY2MtZm9ybSAuZm9ybS1yb3cgI3N0cmlwZS1jdmMtZWxlbWVudCB7XG4gICAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzIyNzJCNCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtOyB9XG4gIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCB7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYSwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYSwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYSwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYSwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1zaGFkb3c6IDAuMTI1cmVtIDAuMDYyNXJlbSAwICMyMjcyQjQ7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGE6YWZ0ZXIsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhOmFmdGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhOmFmdGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhOmFmdGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhOmFmdGVyLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICAgICAgYm90dG9tOiAwLjEyNXJlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBhOmhvdmVyOmFmdGVyLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTpob3ZlcjphZnRlciwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTpob3ZlcjphZnRlciwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTpob3ZlcjphZnRlciwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTpob3ZlcjphZnRlciwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYTpob3ZlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQge1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYSwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGEge1xuICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtc2hhZG93OiAwLjEyNXJlbSAwLjA2MjVyZW0gMCAjMjI3MkI0O1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6YWZ0ZXIsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6YWZ0ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYTphZnRlciwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhOmFmdGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6YWZ0ZXIsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMjcyQjQ7XG4gICAgICAgIGJvdHRvbTogMC4xMjVyZW07XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhOmhvdmVyOmFmdGVyLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhOmhvdmVyOmFmdGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6aG92ZXI6YWZ0ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciBzcGFuLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLWNoZWNrYm94LXRleHQgYTpob3ZlcjphZnRlciwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCBhOmhvdmVyOmFmdGVyLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIgc3Bhbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy1jaGVja2JveC10ZXh0IGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLmZvcm0tcm93LnBsYWNlLW9yZGVyLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciB7XG4gICAgYmFja2dyb3VuZDogIzIyNzJCNDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4zNzVyZW0gMC4zNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXIsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpob3ZlciwgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXI6Zm9jdXMsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpmb2N1cywgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpob3ZlciwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpmb2N1cywgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpob3ZlciwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpmb2N1cywgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpob3ZlciwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpmb2N1cywgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpob3ZlciwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OHJlbSkge1xuICAgICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCBidXR0b24jcGxhY2Vfb3JkZXIsIGJvZHkud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBkaXYud29vY29tbWVyY2UgI3BheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgYnV0dG9uI3BsYWNlX29yZGVyLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlciwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlciwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlciwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlciwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IGJ1dHRvbiNwbGFjZV9vcmRlciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLnJldHVybi10by1zaG9wLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC5yZXR1cm4tdG8tc2hvcCwgYm9keS53b29jb21tZXJjZS1wYWdlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5yZXR1cm4tdG8tc2hvcCwgYm9keS53b29jb21tZXJjZS1wYWdlICNwYXltZW50IC5yZXR1cm4tdG8tc2hvcCwgZGl2Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5yZXR1cm4tdG8tc2hvcCwgZGl2Lndvb2NvbW1lcmNlICNwYXltZW50IC5yZXR1cm4tdG8tc2hvcCB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMjI3MkI0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgYm9keS53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3A6aG92ZXIsIGJvZHkud29vY29tbWVyY2UgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQgLnJldHVybi10by1zaG9wOmZvY3VzLCBib2R5Lndvb2NvbW1lcmNlICNwYXltZW50IC5yZXR1cm4tdG8tc2hvcDpob3ZlciwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3A6Zm9jdXMsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3A6aG92ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3A6Zm9jdXMsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3A6aG92ZXIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3A6Zm9jdXMsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3A6aG92ZXIsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3A6Zm9jdXMsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3A6aG92ZXIsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3A6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgICBib2R5Lndvb2NvbW1lcmNlIGRpdi53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IC5yZXR1cm4tdG8tc2hvcCwgYm9keS53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3AsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3AsIGJvZHkud29vY29tbWVyY2UtcGFnZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3AsIGRpdi53b29jb21tZXJjZSBkaXYud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCAucmV0dXJuLXRvLXNob3AsIGRpdi53b29jb21tZXJjZSAjcGF5bWVudCAucmV0dXJuLXRvLXNob3Age1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5ib2R5Lndvb2NvbW1lcmNlIGRpdiNwYXltZW50Lndvb2NvbW1lcmNlLVBheW1lbnQgdWwud29vY29tbWVyY2UtUGF5bWVudE1ldGhvZHMgKyBkaXYuZm9ybS1yb3csIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYjcGF5bWVudC53b29jb21tZXJjZS1QYXltZW50IHVsLndvb2NvbW1lcmNlLVBheW1lbnRNZXRob2RzICsgZGl2LmZvcm0tcm93LCBkaXYud29vY29tbWVyY2UgZGl2I3BheW1lbnQud29vY29tbWVyY2UtUGF5bWVudCB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyArIGRpdi5mb3JtLXJvdyB7XG4gIGJhY2tncm91bmQ6ICMyMjcyQjQ7IH1cblxuYm9keS53b29jb21tZXJjZSBkaXYjcGF5bWVudC53b29jb21tZXJjZS1QYXltZW50IC5hYm91dF9wYXlwYWwsIGJvZHkud29vY29tbWVyY2UtcGFnZSBkaXYjcGF5bWVudC53b29jb21tZXJjZS1QYXltZW50IC5hYm91dF9wYXlwYWwsIGRpdi53b29jb21tZXJjZSBkaXYjcGF5bWVudC53b29jb21tZXJjZS1QYXltZW50IC5hYm91dF9wYXlwYWwge1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cblxuYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbywgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8ge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMjI3MkI0O1xuICBoZWlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjgxMjVyZW07XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbyAqLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm8gKiwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvICoge1xuICAgIGNvbG9yOiAjMjI3MkI0OyB9XG4gIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlIHtcbiAgICBjb2xvcjogIzIyNzJCNDtcbiAgICBsZWZ0OiAwLjkzNzVyZW0gIWltcG9ydGFudDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvIC5jbGVhci1ub3RpY2UsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbyAuY2xlYXItbm90aWNlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8gLmNsZWFyLW5vdGljZSB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC42MjVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDUwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbywgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAyLjgxMjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgICAgIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8uaGlkZS1ub3RpY2UsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mby5oaWRlLW5vdGljZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvLmhpZGUtbm90aWNlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbmJvZHkud29vY29tbWVyY2UgZm9ybS5jaGVja291dF9jb3Vwb24ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24uaGlkZS1ub3RpY2UsIGJvZHkud29vY29tbWVyY2UtcGFnZSBmb3JtLmNoZWNrb3V0X2NvdXBvbi53b29jb21tZXJjZS1mb3JtLWNvdXBvbi5oaWRlLW5vdGljZSwgZGl2Lndvb2NvbW1lcmNlIGZvcm0uY2hlY2tvdXRfY291cG9uLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLmhpZGUtbm90aWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvciwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbywgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1lcnJvciwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbywgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgYmFja2dyb3VuZDogI0Q1Q0RCNztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDAuOTM3NXJlbSAwLjkzNzVyZW0gMi44MTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IgYS5idXR0b24sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8gYS5idXR0b24sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UgYS5idXR0b24sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtZXJyb3IgYS5idXR0b24sIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtaW5mbyBhLmJ1dHRvbiwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlIGEuYnV0dG9uLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yIGEuYnV0dG9uLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm8gYS5idXR0b24sIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZSBhLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yOmJlZm9yZSwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6YmVmb3JlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWVycm9yOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1pbmZvOmJlZm9yZSwgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS1tZXNzYWdlOmJlZm9yZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvcjpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbzpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzQ0YTA0NDsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1tZXNzYWdlIGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZSBhLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW1lc3NhZ2UgYSB7XG4gICAgY29sb3I6ICMwMDgwMDA7IH1cbiAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtbWVzc2FnZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICM0NGEwNDQ7IH1cblxuYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3IsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtZXJyb3IsIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtZXJyb3Ige1xuICBib3JkZXItdG9wLWNvbG9yOiAjYjAxZjIzOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yIGEsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtZXJyb3IgYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvciBhIHtcbiAgICBjb2xvcjogI2IwMWYyMzsgfVxuICBib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1lcnJvcjpiZWZvcmUsIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtZXJyb3I6YmVmb3JlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWVycm9yOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2IwMWYyMzsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm8sIGRpdi53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbyB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM1QUIxRTA7IH1cbiAgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2UtaW5mbyBhLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm8gYSwgZGl2Lndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1pbmZvIGEge1xuICAgIGNvbG9yOiAjNUFCMUUwOyB9XG4gIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlLCBkaXYud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWluZm86YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNUFCMUUwOyB9XG5cbi53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IGgyLndvb2NvbW1lcmNlLXBhZ2UtdGl0bGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LXRvcC13cmFwcGVyIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgIC53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LXRvcC13cmFwcGVyIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QtdG9wLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LXRvcC13cmFwcGVyIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgZmlndXJlLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fd3JhcHBlciAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QtdG9wLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSBmaWd1cmUud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlID4gYSBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QtdG9wLXdyYXBwZXIgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LXRvcC13cmFwcGVyIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkge1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1ZW0pIHtcbiAgICAud29vY29tbWVyY2UtcGFnZS5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdC10b3Atd3JhcHBlciAuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IHtcbiAgICAgIHdpZHRoOiAyMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QtdG9wLXdyYXBwZXIgLnN1bW1hcnkuZW50cnktc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi53b29jb21tZXJjZS1mb3JtIGlucHV0LmlucHV0LXRleHQge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTsgfVxuXG4ud29vY29tbWVyY2UtZm9ybSBsYWJlbC53b29jb21tZXJjZS1mb3JtX19sYWJlbC53b29jb21tZXJjZS1mb3JtX19sYWJlbC1mb3ItY2hlY2tib3guaW5saW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG5cbmRpdi53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSB7XG4gIGNvbG9yOiAjMjI3MkI0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsgfVxuXG5kaXYud29vY29tbWVyY2Utb3JkZXIgdWwud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjI3MkI0O1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIGRpdi53b29jb21tZXJjZS1vcmRlciB1bC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyBsaSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjA2MjVyZW0gc29saWQgIzIyNzJCNDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgZGl2Lndvb2NvbW1lcmNlLW9yZGVyIHVsLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIGRpdi53b29jb21tZXJjZS1vcmRlciB1bC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyBsaSBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW0gIWltcG9ydGFudDsgfSB9XG5cbmRpdi53b29jb21tZXJjZS1vcmRlciAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyBoMiB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLnNlbGVjdDItZHJvcGRvd24ge1xuICBib3JkZXItY29sb3I6ICMyMjcyQjQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0sIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2RhdGEtc2VsZWN0ZWRdIHtcbiAgYmFja2dyb3VuZDogIzIyNzJCNDsgfVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IG5vbmU7IH1cbiAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDIuNXJlbSAwOyB9XG4gICAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYjAxZjIzO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyLjE4NzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJydWJpa1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAwLjI1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIC4yNXJlbSk7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgICAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIGxpIGE6aG92ZXIsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCBsaSBhOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgICAgIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCBsaSBhIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07IH0gfVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGZvcm0gLmZvcm0tcm93IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBmb3JtIGlucHV0LmlucHV0LXRleHQge1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07IH1cbiAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGZvcm0gZmllbGRzZXQgbGVnZW5kIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwIDAgMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB7XG4gICAgYm9yZGVyLXRvcDogMC4zMTI1cmVtIHNvbGlkICMyMjcyQjQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtOmZpcnN0LWNoaWxkLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbTpudGgtY2hpbGQoMm4pLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW06bnRoLWNoaWxkKDJuKSB0ZCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbTpudGgtY2hpbGQoMm4pIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAgICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbTpudGgtY2hpbGQoMm4pIHRkLnByb2R1Y3QtcHJpY2UsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtOm50aC1jaGlsZCgybikgdGQucHJvZHVjdC1zdWJ0b3RhbCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbTpudGgtY2hpbGQoMm4pIHRkLnByb2R1Y3QtcHJpY2UsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW06bnRoLWNoaWxkKDJuKSB0ZC5wcm9kdWN0LXN1YnRvdGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjRDVDREI3OyB9XG4gICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkIC5xdWFudGl0eSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZCAucXVhbnRpdHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMC4zMTI1cmVtO1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQ6YmVmb3JlLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aXRsZSkgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtbmFtZSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aXRsZSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIGEsIC53b29jb21tZXJjZS1wYWdlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1uYW1lIHNwYW4ucHJvZHVjdC10aHVtYm5haWwgYSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3QtbmFtZSBzcGFuLnByb2R1Y3QtdGh1bWJuYWlsIGltZywgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LW5hbWUgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMi41cmVtOyB9XG4gICAgICAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LXJlbW92ZSwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LXJlbW92ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB0b3A6IDAuMzEyNXJlbTsgfVxuICAgICAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1wcmljZSwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ci53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbS5jYXJ0X2l0ZW0gdGQucHJvZHVjdC1zdWJ0b3RhbCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHRyLndvb2NvbW1lcmNlLWNhcnQtZm9ybV9fY2FydC1pdGVtLmNhcnRfaXRlbSB0ZC5wcm9kdWN0LXByaWNlLCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHRkLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRDVDREI3OyB9IH1cblxuLmJzLXJvdy1zcGFjaW5nIHtcbiAgcGFkZGluZy10b3A6IDhyZW07XG4gIHBhZGRpbmctYm90dG9tOiA4cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5icy1yb3ctc3BhY2luZyB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9IH1cblxuLmJzLXJvdy1zcGFjaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiA4cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5icy1yb3ctc3BhY2luZy10b3Age1xuICAgICAgcGFkZGluZy10b3A6IDRyZW07IH0gfVxuXG4uYnMtcm93LXNwYWNpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDhyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLmJzLXJvdy1zcGFjaW5nLWJvdHRvbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfSB9XG5cbmh0bWwgYm9keS5ob21lIGhlYWRlciNtYXN0aGVhZCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICBodG1sIGJvZHkuaG9tZSBoZWFkZXIjbWFzdGhlYWQgLnNpdGUtdGl0bGUtYmFyLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGh0bWwgYm9keS5ob21lIGhlYWRlciNtYXN0aGVhZCAudG9wLWJhcixcbiAgaHRtbCBib2R5LmhvbWUgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyLFxuICBodG1sIGJvZHkuaG9tZSBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXItbGVmdCxcbiAgaHRtbCBib2R5LmhvbWUgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyLXJpZ2h0LFxuICBodG1sIGJvZHkuaG9tZSBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXItdG9wLFxuICBodG1sIGJvZHkuaG9tZSBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXItYm90dG9tLFxuICBodG1sIGJvZHkuaG9tZSBoZWFkZXIjbWFzdGhlYWQgdWwuZGVza3RvcC1tZW51LFxuICBodG1sIGJvZHkuaG9tZSBoZWFkZXIjbWFzdGhlYWQgdWwuZGVza3RvcC1tZW51ICsgLm1lbnUtc2VhcmNoLXdyYXBwZXIsXG4gIGh0bWwgYm9keS5ob21lIGhlYWRlciNtYXN0aGVhZCAuZGVza3RvcC1tZW51ICsgLm1lbnUtc2VhcmNoLXdyYXBwZXIgYnV0dG9uLnNlYXJjaC10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICBodG1sIGJvZHkuaG9tZSBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgdWwuZGVza3RvcC1tZW51ID4gbGkgPiBhIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwLjI1cmVtIDAuNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG5odG1sIGJvZHkuaG9tZSAudG9wLWJhciAuZGVza3RvcC1tZW51ID4gbGkgPiBhLFxuaHRtbCBib2R5LmhvbWUgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkubWVudS1zZWFyY2gtd3JhcHBlciBidXR0b24ge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbmh0bWwgYm9keSAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwcztcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dCAwczsgfVxuICBodG1sIGJvZHkgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0IGhlYWRlciNtYXN0aGVhZCxcbiAgaHRtbCBib2R5IC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodCAudG9wLWJhcixcbiAgaHRtbCBib2R5IC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodCAudG9wLWJhciB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlcixcbiAgaHRtbCBib2R5IC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodCAudG9wLWJhci1sZWZ0LFxuICBodG1sIGJvZHkgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0IC50b3AtYmFyLXJpZ2h0LFxuICBodG1sIGJvZHkgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0IC50b3AtYmFyLXRvcCxcbiAgaHRtbCBib2R5IC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodCAudG9wLWJhci1ib3R0b20ge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gIGh0bWwgYm9keSAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQgaGVhZGVyI21hc3RoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDkwLCAxNzcsIDIyNCwgMC45NSkgIWltcG9ydGFudDsgfVxuICBodG1sIGJvZHkgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0IGhlYWRlciNtYXN0aGVhZCAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDgwJSkgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG5cbmhlYWRlciNtYXN0aGVhZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICBoZWFkZXIjbWFzdGhlYWQgLnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA2LjI1cmVtO1xuICAgICAgdG9wOiAwLjM3NXJlbTsgfVxuICAgICAgaGVhZGVyI21hc3RoZWFkIC5zaXRlLW5hdmlnYXRpb24udG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICBoZWFkZXIjbWFzdGhlYWQgLnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgLnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgICBoZWFkZXIjbWFzdGhlYWQgLnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5jdXN0b20tYnV0dG9uIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cbiAgICAgICAgICAgICAgaGVhZGVyI21hc3RoZWFkIC5zaXRlLW5hdmlnYXRpb24udG9wLWJhciAudG9wLWJhci1yaWdodCAudG9wLWJhci1zb2NpYWwgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDJyZW07IH0gfVxuXG4ubGVhcm4tbW9yZS1saW5rIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogY2FsYygxcmVtICsgMC4xMjUgKiAoICgxMDB2dyAtIDMwcmVtKSAvIDU3LjUpKSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMC4zNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgLmxlYXJuLW1vcmUtbGluayB7XG4gICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVyZW0pIHtcbiAgICAubGVhcm4tbW9yZS1saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIC5sZWFybi1tb3JlLWxpbms6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDAuMTU2MjVyZW07XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluIDAuMjVzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbiAwLjI1cztcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbiAwLjI1cztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluIDAuMjVzOyB9XG4gIC5sZWFybi1tb3JlLWxpbms6aG92ZXI6YWZ0ZXIsIC5sZWFybi1tb3JlLWxpbms6Zm9jdXM6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAwcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgMHM7IH1cbiAgLmxlYXJuLW1vcmUtbGluay5sbWwtd2hpdGUge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmxlYXJuLW1vcmUtbGluay5sbWwtd2hpdGU6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbiNob21lLXBvcnRhbHMtcm93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgI2hvbWUtcG9ydGFscy1yb3cgI2hvbWUtcG9ydGFscy1pbm5lci1yb3cge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogODcuNXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNob21lLXBvcnRhbHMtcm93ICNob21lLXBvcnRhbHMtaW5uZXItcm93IC5ob21lLXBvcnRhbCB7XG4gICAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHJlbSk7IH1cbiAgICAgICNob21lLXBvcnRhbHMtcm93ICNob21lLXBvcnRhbHMtaW5uZXItcm93IC5ob21lLXBvcnRhbCBkaXYge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICNob21lLXBvcnRhbHMtcm93ICNob21lLXBvcnRhbHMtaW5uZXItcm93IC5ob21lLXBvcnRhbCA+IGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGREMwMDA7XG4gICAgICAgIHBhZGRpbmc6IDUuNDM3NXJlbSAzLjE4NzVyZW07IH1cbiAgICAgICAgI2hvbWUtcG9ydGFscy1yb3cgI2hvbWUtcG9ydGFscy1pbm5lci1yb3cgLmhvbWUtcG9ydGFsID4gZGl2ID4gZGl2ID4gZGl2ID4gZGl2IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICNob21lLXBvcnRhbHMtcm93ICNob21lLXBvcnRhbHMtaW5uZXItcm93IC5ob21lLXBvcnRhbCA+IGRpdiBpbWcge1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAgMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDVyZW07XG4gICAgICAgICAgbWluLXdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMy4xMjV2dyAqIDEuNSk7IH1cbiAgICAgICAgI2hvbWUtcG9ydGFscy1yb3cgI2hvbWUtcG9ydGFscy1pbm5lci1yb3cgLmhvbWUtcG9ydGFsID4gZGl2IGgyIHtcbiAgICAgICAgICBjb2xvcjogIzAwMjQ0NSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxLjVyZW0gKyAwLjY4NzUgKiAoICgxMDB2dyAtIDMwcmVtKSAvIDU3LjUpKSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICAgICAgICAjaG9tZS1wb3J0YWxzLXJvdyAjaG9tZS1wb3J0YWxzLWlubmVyLXJvdyAuaG9tZS1wb3J0YWwgPiBkaXYgaDIge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41cmVtKSB7XG4gICAgICAgICAgICAjaG9tZS1wb3J0YWxzLXJvdyAjaG9tZS1wb3J0YWxzLWlubmVyLXJvdyAuaG9tZS1wb3J0YWwgPiBkaXYgaDIge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgICAgI2hvbWUtcG9ydGFscy1yb3cgI2hvbWUtcG9ydGFscy1pbm5lci1yb3cgLmhvbWUtcG9ydGFsID4gZGl2IHAge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAjaG9tZS1wb3J0YWxzLXJvdyAjaG9tZS1wb3J0YWxzLWlubmVyLXJvdyAuaG9tZS1wb3J0YWwgPiBkaXYgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICNob21lLXBvcnRhbHMtcm93ICNob21lLXBvcnRhbHMtaW5uZXItcm93IC5ob21lLXBvcnRhbCB7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cmVtKTsgfVxuICAgICAgICAgICNob21lLXBvcnRhbHMtcm93ICNob21lLXBvcnRhbHMtaW5uZXItcm93IC5ob21lLXBvcnRhbCA+IGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMS41NjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICNob21lLXBvcnRhbHMtcm93ICNob21lLXBvcnRhbHMtaW5uZXItcm93IC5ob21lLXBvcnRhbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjU2MjVyZW0pOyB9XG4gICAgICAgICAgI2hvbWUtcG9ydGFscy1yb3cgI2hvbWUtcG9ydGFscy1pbm5lci1yb3cgLmhvbWUtcG9ydGFsOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lLXBvcnRhbHMtcm93ICNob21lLXBvcnRhbHMtaW5uZXItcm93IHtcbiAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG5cbi5zaW5nbGUtdGVzdGltb25pYWwtaXRlbSAudGVzdGltb25pYWwtY29udGVudCBwIHtcbiAgY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiBjYWxjKDEuMjVyZW0gKyAwLjkzNzUgKiAoICgxMDB2dyAtIDMwcmVtKSAvIDU3LjUpKSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgLnNpbmdsZS10ZXN0aW1vbmlhbC1pdGVtIC50ZXN0aW1vbmlhbC1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41cmVtKSB7XG4gICAgLnNpbmdsZS10ZXN0aW1vbmlhbC1pdGVtIC50ZXN0aW1vbmlhbC1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5zaW5nbGUtdGVzdGltb25pYWwtaXRlbSAudGVzdGltb25pYWwtY29udGVudCBoNC50ZXN0aW1vbmlhbC10aXRsZSBzcGFuIHtcbiAgY29sb3I6ICMyMjcyQjQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiA5MCUgIWltcG9ydGFudDsgfVxuXG4jZmVhdHVyZWQtdGVzdGltb25pYWxzLXJvdyB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICNmZWF0dXJlZC10ZXN0aW1vbmlhbHMtcm93IC50ZXN0aW1vbmlhbHMtcm93LWhlYWRpbmcgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDMuMTI1dncgKiAxLjUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjZmVhdHVyZWQtdGVzdGltb25pYWxzLXJvdyAudGVzdGltb25pYWxzLXJvdy1oZWFkaW5nIGgyOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vYXNzZXRzL2ltYWdlcy90ZXN0aW1vbmlhbHMtaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBjYWxjKDMuMTI1dncgKiAxLjUpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoMy4xMjV2dyAqIDEuNSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB3aWR0aDogY2FsYygzLjEyNXZ3ICogMS41KTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNXJlbSkge1xuICAgICAgICAjZmVhdHVyZWQtdGVzdGltb25pYWxzLXJvdyAudGVzdGltb25pYWxzLXJvdy1oZWFkaW5nIGgyOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgIHdpZHRoOiA1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAjZmVhdHVyZWQtdGVzdGltb25pYWxzLXJvdyAudGVzdGltb25pYWxzLXJvdy1oZWFkaW5nIGgyOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICB3aWR0aDogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICNmZWF0dXJlZC10ZXN0aW1vbmlhbHMtcm93IC50ZXN0aW1vbmlhbHMtcm93LWhlYWRpbmcgaDIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MC43NWVtKSB7XG4gICAgI2ZlYXR1cmVkLXRlc3RpbW9uaWFscy1yb3cgLnRlc3RpbW9uaWFscy1yb3ctaGVhZGluZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAuNzVlbSkge1xuICAgICNmZWF0dXJlZC10ZXN0aW1vbmlhbHMtcm93IC50ZXN0aW1vbmlhbHMtcm93LWNhcm91c2VsIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2ZlYXR1cmVkLXRlc3RpbW9uaWFscy1yb3cgLnRlc3RpbW9uaWFscy13cmFwcGVyLnRlc3RpbW9uaWFscy1kaXNwbGF5LWNhcm91c2VsIHtcbiAgICBib3JkZXItbGVmdDogMC4yNXJlbSBzb2xpZCAjRkRDMDAwO1xuICAgIHBhZGRpbmc6IDRyZW0gY2FsYygzLjEyNXZ3ICogMS41KTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwcmVtKSB7XG4gICAgICAjZmVhdHVyZWQtdGVzdGltb25pYWxzLXJvdyAudGVzdGltb25pYWxzLXdyYXBwZXIudGVzdGltb25pYWxzLWRpc3BsYXktY2Fyb3VzZWwge1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDRyZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAuNzVlbSkge1xuICAgICAgI2ZlYXR1cmVkLXRlc3RpbW9uaWFscy1yb3cgLnRlc3RpbW9uaWFscy13cmFwcGVyLnRlc3RpbW9uaWFscy1kaXNwbGF5LWNhcm91c2VsIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDAuMjVyZW0gc29saWQgI0ZEQzAwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMy4xMjV2dztcbiAgICAgICAgcGFkZGluZzogMy4xMjV2dyAwIDAgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MC43NWVtKSB7XG4gICAgICAjZmVhdHVyZWQtdGVzdGltb25pYWxzLXJvdyAudGVzdGltb25pYWxzLXdyYXBwZXIudGVzdGltb25pYWxzLWRpc3BsYXktY2Fyb3VzZWwgLnNsaWNrLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH0gfVxuICAgICNmZWF0dXJlZC10ZXN0aW1vbmlhbHMtcm93IC50ZXN0aW1vbmlhbHMtd3JhcHBlci50ZXN0aW1vbmlhbHMtZGlzcGxheS1jYXJvdXNlbCAuc2xpY2stdHJhY2sge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgI2ZlYXR1cmVkLXRlc3RpbW9uaWFscy1yb3cgLnRlc3RpbW9uaWFscy13cmFwcGVyLnRlc3RpbW9uaWFscy1kaXNwbGF5LWNhcm91c2VsIC5zbGljay10cmFjayAuc2xpY2stc2xpZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0IDBzOyB9XG4gICAgICAgICNmZWF0dXJlZC10ZXN0aW1vbmlhbHMtcm93IC50ZXN0aW1vbmlhbHMtd3JhcHBlci50ZXN0aW1vbmlhbHMtZGlzcGxheS1jYXJvdXNlbCAuc2xpY2stdHJhY2sgLnNsaWNrLXNsaWRlLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cblxuI2dldC1zdGFydGVkLXJvdyA+IGRpdiA+IGRpdiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNnZXQtc3RhcnRlZC1yb3cgPiBkaXYgPiBkaXYge1xuICAgICAgbWluLWhlaWdodDogNTZ2dzsgfSB9XG5cbiNnZXQtc3RhcnRlZC1yb3cgPiBkaXYgKyBkaXYgPiBkaXYge1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gOTIlICFpbXBvcnRhbnQ7IH1cbiAgI2dldC1zdGFydGVkLXJvdyA+IGRpdiArIGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDMuMTI1dncgKiAxLjUpOyB9XG4gICAgI2dldC1zdGFydGVkLXJvdyA+IGRpdiArIGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiBoMiwgI2dldC1zdGFydGVkLXJvdyA+IGRpdiArIGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiBoMywgI2dldC1zdGFydGVkLXJvdyA+IGRpdiArIGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiBwIHtcbiAgICAgIG1heC13aWR0aDogMzcuNXJlbTsgfVxuICAgICNnZXQtc3RhcnRlZC1yb3cgPiBkaXYgKyBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgaDMge1xuICAgICAgZm9udC1zaXplOiBjYWxjKDEuNXJlbSArIDAuNjg3NSAqICggKDEwMHZ3IC0gMzByZW0pIC8gNTcuNSkpICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMHJlbSkge1xuICAgICAgICAjZ2V0LXN0YXJ0ZWQtcm93ID4gZGl2ICsgZGl2ID4gZGl2ID4gZGl2ID4gZGl2ID4gZGl2IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVyZW0pIHtcbiAgICAgICAgI2dldC1zdGFydGVkLXJvdyA+IGRpdiArIGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgI2dldC1zdGFydGVkLXJvdyA+IGRpdiArIGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI2dldC1zdGFydGVkLXJvdyA+IGRpdiArIGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNnZXQtc3RhcnRlZC1yb3cgPiBkaXYgKyBkaXYgPiBkaXYge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG5cbiNleGlzdGluZy1jbGllbnRzLXJvdyA+IGRpdiA+IGRpdiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoNjV2dyAtICgzLjEyNXZ3ICogLjc1KSkgYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwLjYyNXJlbSkgYW5kIChtaW4td2lkdGg6IDY0LjA2MjVyZW0pIHtcbiAgICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICNleGlzdGluZy1jbGllbnRzLXJvdyA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiB7XG4gICAgbWF4LXdpZHRoOiA0My43NXJlbTtcbiAgICBsZWZ0OiBjYWxjKDUwdncgLSA0My43NXJlbSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MC42MjVyZW0pIHtcbiAgICAgICNleGlzdGluZy1jbGllbnRzLXJvdyA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiB7XG4gICAgICAgIGxlZnQ6IGF1dG87IH0gfVxuICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYge1xuICAgIGJhY2tncm91bmQ6ICM1QUIxRTA7XG4gICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMnJlbSAtMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgcGFkZGluZzogMS41NjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDQzLjc1cmVtO1xuICAgIHdpZHRoOiA1MHZ3O1xuICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgaDIsICNleGlzdGluZy1jbGllbnRzLXJvdyA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiBoMywgI2V4aXN0aW5nLWNsaWVudHMtcm93ID4gZGl2ID4gZGl2ID4gZGl2ID4gZGl2ID4gZGl2IHAsICNleGlzdGluZy1jbGllbnRzLXJvdyA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgaDMge1xuICAgICAgZm9udC1zaXplOiBjYWxjKDEuNXJlbSArIDAuNjg3NSAqICggKDEwMHZ3IC0gMzByZW0pIC8gNTcuNSkpICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMHJlbSkge1xuICAgICAgICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNXJlbSkge1xuICAgICAgICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgICNleGlzdGluZy1jbGllbnRzLXJvdyA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50OyB9XG4gICAgICAjZXhpc3RpbmctY2xpZW50cy1yb3cgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDkwLCAxNzcsIDIyNCwgMC45NSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMS41NjI1cmVtKTsgfSB9XG5cbi8qKioqIElOVEVSTkFMIFBBR0UgU1RZTEVTICoqKiovXG5ib2R5Om5vdCguaG9tZSkgI21haW4tY29udGFpbmVyIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuZW50cnktY29udGVudCAuaW50ZXJuYWwtcG9ydGFscy1yb3cgLmludGVybmFsLXBvcnRhbC1sZWZ0IHtcbiAgYmFja2dyb3VuZDogI0ZEQzAwMDtcbiAgYm9yZGVyLXJpZ2h0OiAzLjEyNXZ3IHNvbGlkICNGRkZGRkY7IH1cbiAgYm9keTpub3QoLmhvbWUpICNtYWluLWNvbnRhaW5lciAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmVudHJ5LWNvbnRlbnQgLmludGVybmFsLXBvcnRhbHMtcm93IC5pbnRlcm5hbC1wb3J0YWwtbGVmdCA+IGRpdiB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtOyB9XG4gICAgYm9keTpub3QoLmhvbWUpICNtYWluLWNvbnRhaW5lciAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmVudHJ5LWNvbnRlbnQgLmludGVybmFsLXBvcnRhbHMtcm93IC5pbnRlcm5hbC1wb3J0YWwtbGVmdCA+IGRpdiBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA1cmVtO1xuICAgICAgbWluLXdpZHRoOiAyLjVyZW07XG4gICAgICB3aWR0aDogY2FsYygzLjEyNXZ3ICogMS41KTsgfVxuICAgIGJvZHk6bm90KC5ob21lKSAjbWFpbi1jb250YWluZXIgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5lbnRyeS1jb250ZW50IC5pbnRlcm5hbC1wb3J0YWxzLXJvdyAuaW50ZXJuYWwtcG9ydGFsLWxlZnQgPiBkaXYgaDIge1xuICAgICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygxLjVyZW0gKyAwLjY4NzUgKiAoICgxMDB2dyAtIDMwcmVtKSAvIDU3LjUpKSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICAgIGJvZHk6bm90KC5ob21lKSAjbWFpbi1jb250YWluZXIgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5lbnRyeS1jb250ZW50IC5pbnRlcm5hbC1wb3J0YWxzLXJvdyAuaW50ZXJuYWwtcG9ydGFsLWxlZnQgPiBkaXYgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNXJlbSkge1xuICAgICAgICBib2R5Om5vdCguaG9tZSkgI21haW4tY29udGFpbmVyIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuZW50cnktY29udGVudCAuaW50ZXJuYWwtcG9ydGFscy1yb3cgLmludGVybmFsLXBvcnRhbC1sZWZ0ID4gZGl2IGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBib2R5Om5vdCguaG9tZSkgI21haW4tY29udGFpbmVyIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuZW50cnktY29udGVudCAuaW50ZXJuYWwtcG9ydGFscy1yb3cgLmludGVybmFsLXBvcnRhbC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuNTYyNXJlbSk7IH0gfVxuXG5ib2R5Om5vdCguaG9tZSkgI21haW4tY29udGFpbmVyIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuZW50cnktY29udGVudCAuaW50ZXJuYWwtcG9ydGFscy1yb3cgLmludGVybmFsLXBvcnRhbC1yaWdodCA+IGRpdiBwIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICBib2R5Om5vdCguaG9tZSkgI21haW4tY29udGFpbmVyIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuZW50cnktY29udGVudCAuaW50ZXJuYWwtcG9ydGFscy1yb3cgLmludGVybmFsLXBvcnRhbC1yaWdodCA+IGRpdiB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDAgMCAwICFpbXBvcnRhbnQ7IH0gfVxuXG4vKioqKiBGT09URVIgJiBQUkVGT09URVIgU1RZTEVTICoqKiovXG4uY29udGFjdC11cy1saXRlX3dyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLmNvbnRhY3QtdXMtbGl0ZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDY2LjY2NjZ2dyAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5jb250YWN0LXVzLWxpdGUgdWwuZ2Zvcm1fZmllbGRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29udGFjdC11cy1saXRlIHVsLmdmb3JtX2ZpZWxkcyAubGl0ZS1maWVsZC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgICAgLmNvbnRhY3QtdXMtbGl0ZSB1bC5nZm9ybV9maWVsZHMgLmxpdGUtZmllbGQtbGVmdCBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jb250YWN0LXVzLWxpdGUgdWwuZ2Zvcm1fZmllbGRzIC5saXRlLWZpZWxkLWxlZnQgaW5wdXQge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAycmVtIC0wLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjI1KSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDkwLCAxNzcsIDIyNCwgMC4zNSk7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5jb250YWN0LXVzLWxpdGUgdWwuZ2Zvcm1fZmllbGRzIC5saXRlLWZpZWxkLWxlZnQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuY29udGFjdC11cy1saXRlIHVsLmdmb3JtX2ZpZWxkcyAubGl0ZS1maWVsZC1yaWdodCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgICAuY29udGFjdC11cy1saXRlIHVsLmdmb3JtX2ZpZWxkcyAubGl0ZS1maWVsZC1yaWdodCBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jb250YWN0LXVzLWxpdGUgdWwuZ2Zvcm1fZmllbGRzIC5saXRlLWZpZWxkLXJpZ2h0IHRleHRhcmVhIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMnJlbSAtMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4yNSkgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg5MCwgMTc3LCAyMjQsIDAuMzUpOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuY29udGFjdC11cy1saXRlIHVsLmdmb3JtX2ZpZWxkcyAubGl0ZS1maWVsZC1yaWdodCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY29udGFjdC11cy1saXRlIC5nZm9ybV9mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGFjdC11cy1saXRlIHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgZm9vdGVyLmZvb3Rlci5ncmlkLXggc2VjdGlvbi53aWRnZXQ6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMy4xMjV2dyAqIDIpO1xuICB3aWR0aDogNDQlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIGZvb3Rlci5mb290ZXIuZ3JpZC14IHNlY3Rpb24ud2lkZ2V0OmZpcnN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4jZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBmb290ZXIuZm9vdGVyLmdyaWQteCBzZWN0aW9uLndpZGdldDpudGgtb2YtdHlwZSgyKSB7XG4gIHdpZHRoOiAyOCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgZm9vdGVyLmZvb3Rlci5ncmlkLXggc2VjdGlvbi53aWRnZXQ6bnRoLW9mLXR5cGUoMikge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzEuMjVlbSkge1xuICAgICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIGZvb3Rlci5mb290ZXIuZ3JpZC14IHNlY3Rpb24ud2lkZ2V0Om50aC1vZi10eXBlKDIpIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI2Zvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWluZXIgZm9vdGVyLmZvb3Rlci5ncmlkLXggc2VjdGlvbi53aWRnZXQ6bnRoLW9mLXR5cGUoMykge1xuICB3aWR0aDogMjglOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICNmb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFpbmVyIGZvb3Rlci5mb290ZXIuZ3JpZC14IHNlY3Rpb24ud2lkZ2V0Om50aC1vZi10eXBlKDMpIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAjZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhaW5lciBmb290ZXIuZm9vdGVyLmdyaWQteCBzZWN0aW9uLndpZGdldDpudGgtb2YtdHlwZSgzKSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLm1vYmlsZS1tZW51LFxuICAuc2l0ZS10aXRsZS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmRlc2t0b3AtbWVudSxcbiAgYm9keTpub3QoLnRvcGJhcikgLnNpdGUtbmF2aWdhdGlvbiAudG9wLWJhci1sZWZ0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ubW9iaWxlLW1lbnUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vZmYtY2FudmFzID4gdWwubWVudSB7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAub2ZmLWNhbnZhcyA+IHVsLm1lbnUgYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4ub2ZmLWNhbnZhcyAubWVudSAuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cblxuLnRpdGxlLWJhci10aXRsZSBhIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI0I5QjlCOTsgfVxuXG4ubW9iaWxlLW1lbnUgLm1lbnUgLmlzLWFjdGl2ZSA+IGEsXG4ubW9iaWxlLW9mZi1jYW52YXMtbWVudSAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjQ1NGY7IH1cblxuLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNCOUI5Qjk7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG4udG9wLWJhciAubWVudSBhIHtcbiAgY29sb3I6ICNlNmU2ZTY7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAudG9wLWJhciAubWVudSBhOmhvdmVyOm5vdCguYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyNTI1RDsgfVxuXG4udG9wLWJhciAubWVudSAuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cblxuLnRvcC1iYXIgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4udG9wLWJhciAubWVudSBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzRlNGU0ZTsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24ubWVudSAuc3VibWVudSB7XG4gIGJvcmRlcjogMDsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24ubWVudSAuaGFzLXN1Ym1lbnUuaXMtZG93bi1hcnJvdyBhIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24ubWVudSAuaGFzLXN1Ym1lbnUuaXMtZG93bi1hcnJvdyA+IGE6OmFmdGVyIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi50b3AtYmFyIC5kcm9wZG93bi5tZW51OmZpcnN0LWNoaWxkID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnBvc3QtbmF2aWdhdGlvbjo6YmVmb3JlLCAucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm5hdi1wcmV2aW91cyB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5uYXYtbmV4dCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ubWFpbi13cmFwIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5tYWluLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAubWFpbi13cmFwLnNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICBvcmRlcjogMTsgfVxuICAubWFpbi13cmFwLnNpZGViYXItbGVmdCAuc2lkZWJhciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5tYWluLXdyYXAuc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAubWFpbi13cmFwLnNpZGViYXItbGVmdCAuc2lkZWJhciB7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIC5tYWluLXdyYXAuZnVsbC13aWR0aCAubWFpbi1jb250ZW50IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLm1haW4td3JhcCAuc2lkZWJhciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLm1haW4td3JhcCAuc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5kaXYucHJlLWZvb3Rlci1jb250YWluZXIgKyBkaXYuZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuZGl2LnByZS1mb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNzVyZW07XG4gIHBhZGRpbmc6IDRyZW0gMDsgfVxuXG5kaXYucHJlLWZvb3Rlci1jb250YWluZXIgLndpZGdldCB7XG4gIHBhZGRpbmc6IDAgMS41NjI1cmVtOyB9XG4gIGRpdi5wcmUtZm9vdGVyLWNvbnRhaW5lciAud2lkZ2V0IGg0IHtcbiAgICBmb250LXNpemU6IGNhbGMoMnJlbSArIDEuNDM3NSAqICggKDEwMHZ3IC0gMzByZW0pIC8gNTcuNSkpICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICBkaXYucHJlLWZvb3Rlci1jb250YWluZXIgLndpZGdldCBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41cmVtKSB7XG4gICAgICBkaXYucHJlLWZvb3Rlci1jb250YWluZXIgLndpZGdldCBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBkaXYucHJlLWZvb3Rlci1jb250YWluZXIgLndpZGdldCBoNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBkaXYucHJlLWZvb3Rlci1jb250YWluZXIgLndpZGdldCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ib2R5LmhvbWUgZGl2LnByZS1mb290ZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBtYXJnaW4tdG9wOiA0cmVtOyB9XG5cbmJvZHkuaG9tZSAuZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuZm9vdGVyLmZvb3RlciB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nOiA0cmVtIDAgMCAhaW1wb3J0YW50OyB9XG4gIGZvb3Rlci5mb290ZXIgLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTsgfVxuICAgIGZvb3Rlci5mb290ZXIgLndpZGdldCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGZvb3Rlci5mb290ZXIgaDYge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjVyZW0gKyAwLjc1ICogKCAoMTAwdncgLSAzMHJlbSkgLyA1Ny41KSkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMHJlbSkge1xuICAgICAgZm9vdGVyLmZvb3RlciBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg3LjVyZW0pIHtcbiAgICAgIGZvb3Rlci5mb290ZXIgaDYge1xuICAgICAgICBmb250LXNpemU6IDIuMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIGZvb3Rlci5mb290ZXIgcCB7XG4gICAgZm9udC1zaXplOiBjYWxjKDFyZW0gKyAwLjEyNSAqICggKDEwMHZ3IC0gMzByZW0pIC8gNTcuNSkpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gICAgICBmb290ZXIuZm9vdGVyIHAge1xuICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODcuNXJlbSkge1xuICAgICAgZm9vdGVyLmZvb3RlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgZm9vdGVyLmZvb3RlciBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gIGZvb3Rlci5mb290ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICBmb290ZXIuZm9vdGVyIHVsLm1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBmb290ZXIuZm9vdGVyIHVsLm1lbnUgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBmb290ZXIuZm9vdGVyIHVsLm1lbnUgbGkgYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dCAwcztcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQgMHM7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQgMHM7IH1cbiAgICAgIGZvb3Rlci5mb290ZXIgdWwubWVudSBsaS5pcy1hY3RpdmUgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGZvb3Rlci5mb290ZXIgYXJ0aWNsZSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuXG4jY29weXJpZ2h0LWNvbnRhaW5lciAjY29weXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgI2NvcHlyaWdodC1jb250YWluZXIgI2NvcHlyaWdodCBwIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICNjb3B5cmlnaHQtY29udGFpbmVyICNjb3B5cmlnaHQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuYm9keSN0aW55bWNlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnNpdGVzLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSBpbnNldDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmNhcmRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLmNhcmRzLWNvbnRhaW5lciAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgLmNhcmRzLWNvbnRhaW5lciAuY2FyZCAuY2FyZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC43cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNXJlbTsgfSB9XG5cbi5mZWF0dXJlZC1oZXJvIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDE2dnc7XG4gIG1pbi1oZWlnaHQ6IDYuMjVyZW07XG4gIG1heC1oZWlnaHQ6IDIyLjVyZW07IH1cblxuLmRvdHRlZCwgLnNlY3Rpb24tZGl2aWRlciBociB7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICBtYXJnaW46IDJyZW0gMDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZnJvbnQtaGVybyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2Z1wiKSBib3R0b20gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIHBhZGRpbmc6IDQuMDYyNXJlbSAwO1xuICBtYXJnaW46IDAgMCAycmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICBtYXgtd2lkdGg6IDU1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmZyb250LWhlcm8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnXCIpIGJvdHRvbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiA0Mi44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgNC41cmVtOyB9IH1cbiAgLmZyb250LWhlcm8gLndhdGNoIHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC53YXRjaCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggYSB7XG4gICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5mcm9udC1oZXJvIC53YXRjaCAjc3RhcmdhemVycyA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5mcm9udC1oZXJvIC53YXRjaCAjdHdpdHRlciA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAuZnJvbnQtaGVybyAudGFnbGluZSB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAudGFnbGluZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cmVtOyB9IH1cbiAgLmZyb250LWhlcm8gaDEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAyLjJyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuZnJvbnQtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICAuZnJvbnQtaGVybyAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLmludHJvIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLmludHJvIC5mcC1pbnRybyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLmludHJvIC5mcC1pbnRybyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAgICAgICAuaW50cm8gLmZwLWludHJvIGgyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgICAuaW50cm8gLmZwLWludHJvIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5zZWN0aW9uLWRpdmlkZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuc2VjdGlvbi1kaXZpZGVyIGhyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uYmVuZWZpdHMge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5iZW5lZml0cyBoZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIC5iZW5lZml0cyBoZWFkZXIgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5iZW5lZml0cyBoZWFkZXIgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBjb2xvcjogIzc3NzsgfVxuICAuYmVuZWZpdHMgLnNlbWFudGljLFxuICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUsXG4gIC5iZW5lZml0cyAuY3VzdG9taXphYmxlLFxuICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLmJlbmVmaXRzIC5zZW1hbnRpYyxcbiAgICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSxcbiAgICAgIC5iZW5lZml0cyAuY3VzdG9taXphYmxlLFxuICAgICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwge1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuYmVuZWZpdHMgLnNlbWFudGljIGltZyxcbiAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUgaW1nLFxuICAgIC5iZW5lZml0cyAuY3VzdG9taXphYmxlIGltZyxcbiAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCBpbWcge1xuICAgICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICAgIG1hcmdpbjogMXJlbSBhdXRvIDAgYXV0bzsgfVxuICAgIC5iZW5lZml0cyAuc2VtYW50aWMgaDMsXG4gICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlIGgzLFxuICAgIC5iZW5lZml0cyAuY3VzdG9taXphYmxlIGgzLFxuICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIGgzIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICAgIC5iZW5lZml0cyAuc2VtYW50aWMgcCxcbiAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUgcCxcbiAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSBwLFxuICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmJlbmVmaXRzIC53aHktZm91bmRhdGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDRyZW07IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAkb2xkLXpmLXNpemU6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uUHJlc3Mgc2V0dGluZ3MuXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiB2Ni40LjFcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuQGltcG9ydCAnZ2xvYmFsL2NvbG9ycyc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogMTAyNXB4LFxuICBsYXJnZTogMTQwMHB4LFxuICB4bGFyZ2U6IDE2MDBweCxcbiAgeHhsYXJnZTogMTgwMHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDI1cHgsXG4gIG1lZGl1bTogNTBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGxpZ2h0ZW4oJGRhcmstbmF2LWNvbG9yLCA1JSk7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI4MHB4O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwcmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMzBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxuICBAZWxzZWlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbiAgQGVsc2VpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG4gIEBlbHNlaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICB9XG5cbiAgLmdyaWQtY29udGFpbmVyLXBhZGRlZCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXItcGFkZGluZztcbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+ICN7JC16Zi1zaXplfS1zaHJpbmssID4gI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAjeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skLXpmLXNpemV9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAjeyQtemYtc2l6ZX0tc2hyaW5rLCA+ICN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15JylcbiAgfVxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG5cbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXJcbikge1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBBZGQgcGFkZGluZyB0byB5b3VyIGNvbnRhaW5lciwgdXAgdG8gYSBwYXJ0aWN1bGFyIHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXItcGFkZGluZyhcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nLFxuICAkbWF4OiAkZ3JpZC1jb250YWluZXItbWF4XG4pIHtcbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRwYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRwYWRkaW5nKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUgLyAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUgLyAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkcGFkZGluZykgPT0gJ251bWJlcicpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCRwYWRkaW5nKSAvIDI7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoJHBhZGRpbmcpIC8gMjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtYXgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgLy8gSWYgZ3V0dGVycyA9IG1hcFxuICAgIEBpZih0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgICAgLy8gSWYgJGd1dHRlcnMgbWFwIGhhcyBhIGtleSA9ICRicmVha3BvaW50LCBvdXRwdXQgdGhlIHZhbHVlXG4gICAgICBAaWYgKG1hcC1oYXMta2V5KCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBJZiBub3QgYSBtYXBcbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlci10eXBlOiAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgfVxuXG4gICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlXG4pIHtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gIH0gQGVsc2Uge1xuICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgfVxuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuICAgIFxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIFxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIFxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIFxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfSAgICBcbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzc1xuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiJGRhcmstbmF2LWNvbG9yOiAjMkMzODQwO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCJAY2hhcnNldCAndXRmLTgnO1xuXG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuXG4vLyBHbG9iYWxcbkBpbXBvcnQgXCJnbG9iYWwvX2FjY2Vzc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLWFkbWluXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLW92ZXJyaWRlc1wiO1xuQGltcG9ydCBcImdsb2JhbC9hbGxvbnN5LWNvcmVcIjtcbkBpbXBvcnQgXCJnbG9iYWwvYnMtcG9wdXBcIjtcbkBpbXBvcnQgXCJnbG9iYWwvaW5zdGFmZWVkXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3NsaWNrXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dvb2NvbW1lcmNlXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2JzLXN0eWxlc1wiO1xuXG4vLyBNb2R1bGVzXG5AaW1wb3J0IFwibW9kdWxlcy9uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jb250ZW50XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mb290ZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2VkaXRvci1zdHlsZVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmVhdHVyZWQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RpdmlkZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saW5rc1wiO1xuXG4vLyBUZW1wbGF0ZXNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvZnJvbnRcIjtcbi8vIEBpbXBvcnQgXCJ0ZW1wbGF0ZXMva2l0Y2hlbi1zaW5rXCI7XG4iLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0e1xuICBmb250LXNpemU6OTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzpyZW0tY2FsYygxMCkgMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvKioqKiBUQUJMRSBPRiBDT05URU5UUyAqKioqXG5cbjAwLiBWQVJJQUJMRVNcbjAuIEFDQ0VTU0lCSUxUWSBUT09MQkFSIFNUWUxFU1xuMS4gUFJFTE9BREVSIFNUWUxFU1xuMi4gR0VORVJBTCBTVFlMRVNcbjMuIEhFQURFUiBTVFlMRVNcbiAgM2EuIEhlYWRlciBPcHRpb24gT25lIFN0eWxlc1xuICAzYi4gSGVhZGVyIE9wdGlvbiBUd28gU3R5bGVzXG4gIDNjLiBIZWFkZXIgT3B0aW9uIFRocmVlIFN0eWxlc1xuICAzZC4gSGVhZGVyIE9wdGlvbiBGb3VyIFN0eWxlc1xuICAzZS4gTW9iaWxlIE9mZi1DYW52YXMgTWVudSBTdHlsZXNcbiAgM2YuIE1vYmlsZSBUb3AgQmFyIE1lbnUgU3R5bGVzXG4gIDNnLiBTdGlja3kgSGVhZGVyIFN0eWxlc1xuICAzaC4gSGVhZGVyIE92ZXJyaWRlc1xuXG40LiBIT01FIFBBR0UgU1RZTEVTXG5cbjUuIElOVEVSTkFMIFBBR0UgU1RZTEVTXG4gIDVhLiBCcmVhZGNydW1icyBTdHlsZXNcbiAgNWIuIFBhZ2UgVGl0bGUgYW5kIFRpdGxlIEJhciBTdHlsZXNcbiAgNWMuIEZ1bGwgV2lkdGggUGFnZSBUZW1wbGF0ZSBTdHlsZXNcbiAgNWQuIFBvc3QgTmF2aWdhdGlvbiBGb290ZXIgU3R5bGVzXG4gIDVlLiBMZWZ0IFNpZGViYXIgUGFnZSBUZW1wbGF0ZSBTdHlsZXNcbiAgNWYuIFNpZGViYXIgU3R5bGVzXG4gIDVnLiBTb2NpYWwgU2hhcmluZyBTaG9ydGNvZGUgU3R5bGVzXG4gIDVoLiBHYWxsZXJ5IFNob3J0Y29kZSBTdHlsZXNcbiAgNWkuIFBhZ2luYXRpb24gU3R5bGVzXG4gIDVqLiBHcmF2aXR5IEZvcm0gU3R5bGVzXG4gIDVrLiBTZWFyY2ggUmVzdWx0cyBTdHlsZXNcblxuNi4gQkxPRyBQQUdFIEFORCBTSU5HTEUgQkxPRyBQT1NUIFNUWUxFU1xuICA2YS4gQ29tbWVudHMgU2VjdGlvbiBTdHlsZXNcbiAgNmIuIEFKQVggQmxvZyBMb29wIFNob3J0Y29kZSBTdHlsZXNcblxuNy4gUE9SVEZPTElPIFNUWUxFU1xuXG44LiBTRVJWSUNFUyBTVFlMRVNcblxuOS4gU1RBRkYgU1RZTEVTXG5cbjEwLiA0MDQgUEFHRSBTVFlMRVNcblxuMTEuIElFL0VER0UgU1RZTEVTXG5cbjEyLiBTQUZBUkkgU1RZTEVTXG5cbjEzLiBTRUFSQ0ggRk9STSBTVFlMRVNcblxuKiogRU5EIFRBQkxFIE9GIENPTlRFTlRTICoqL1xuXG5cbi8qKioqIDAwLiBWQVJJQUJMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtdmFyaWFibGVzXCI7XG5cbi8qKioqIDAuIEFDQ0VTU0lCSUxUWSBUT09MQkFSIFNUWUxFUyAqKioqL1xuQGltcG9ydCBcImdsb2JhbC9icy1hMTF5XCI7XG5cbi8qKioqIDEuIFBSRUxPQURFUiBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvcHJlbG9hZGVyXCI7XG5cbi8qKioqIDIuIEdFTkVSQUwgU1RZTEVTICoqKiovXG5AaW1wb3J0IFwiZ2xvYmFsL2dlbmVyYWwtc3R5bGVzXCI7XG5cbi8qKioqIDMuIEhFQURFUiBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvaGVhZGVyXCI7XG5cbi8qIDNhLiBIZWFkZXIgT3B0aW9uIE9uZSBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvaGVhZGVyLW9uZVwiO1xuXG4vKiAzYi4gSGVhZGVyIE9wdGlvbiBUd28gU3R5bGVzICovXG4vLyBAaW1wb3J0IFwiZ2xvYmFsL2hlYWRlci10d29cIjtcblxuLyogM2MuIEhlYWRlciBPcHRpb24gVGhyZWUgU3R5bGVzICovXG4vLyBAaW1wb3J0IFwiZ2xvYmFsL2hlYWRlci10aHJlZVwiO1xuXG4vKiAzZC4gSGVhZGVyIE9wdGlvbiBGb3VyIFN0eWxlcyAqL1xuLy8gQGltcG9ydCBcImdsb2JhbC9oZWFkZXItZm91clwiO1xuXG4vKiAzZS4gTW9iaWxlIE9mZi1DYW52YXMgTWVudSBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvb2ZmLWNhbnZhc1wiO1xuXG4vKiAzZi4gTW9iaWxlIFRvcCBCYXIgTWVudSBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvbWVudS10b3AtYmFyXCI7XG5cbi8qIDNnLiBTdGlja3kgSGVhZGVyIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9zdGlja3ktaGVhZGVyXCI7XG5cbi8qIDNoLiBIZWFkZXIgT3ZlcnJpZGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2hlYWRlci1vdmVycmlkZXNcIjtcblxuXG4vKioqKiA0LiBIT01FIFBBR0UgU1RZTEVTICoqKiovXG5AaW1wb3J0IFwiZ2xvYmFsL2hvbWUtcGFnZVwiO1xuXG5cbi8qKioqIDUuIElOVEVSTkFMIFBBR0UgU1RZTEVTICoqKiovXG4vKiA1YS4gQnJlYWRjcnVtYnMgU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2JzLWJyZWFkY3J1bWJzXCI7XG5cbi8qIDViLiBQYWdlIFRpdGxlIGFuZCBUaXRsZSBCYXIgU3R5bGVzICovXG5AaW1wb3J0IFwiZ2xvYmFsL2JzLXRpdGxlLXN0eWxlc1wiO1xuXG4vKiA1Yy4gRnVsbCBXaWR0aCBQYWdlIFRlbXBsYXRlIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9mdWxsLXdpZHRoLXBhZ2Utc3R5bGVzXCI7XG5cbi8qIDVkLiBQb3N0IE5hdmlnYXRpb24gRm9vdGVyIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9wb3N0LW5hdlwiO1xuXG4vKiA1ZS4gTGVmdCBTaWRlYmFyIFBhZ2UgVGVtcGxhdGUgU3R5bGVzICovXG5cbi8qIDVmLiBTaWRlYmFyIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9zaWRlYmFyLXN0eWxlc1wiO1xuXG4vKiA1Zy4gU29jaWFsIFNoYXJpbmcgU2hvcnRjb2RlIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9zb2NpYWwtc2hhcmVcIjtcblxuLyogNWguIEdhbGxlcnkgU2hvcnRjb2RlIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9nYWxsZXJ5LXNob3J0Y29kZVwiO1xuXG4vKiA1aS4gUGFnaW5hdGlvbiBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtcGFnaW5hdGlvblwiO1xuXG4vKiA1ai4gR3Jhdml0eSBGb3JtIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9icy1ncmF2aXR5LWZvcm1zXCI7XG5cbi8qIDVrLiBTZWFyY2ggUmVzdWx0cyBTdHlsZXMgKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtc2VhcmNoLXJlc3VsdHNcIjtcblxuXG4vKioqKiA2LiBCTE9HIFBBR0UgQU5EIFNJTkdMRSBCTE9HIFBPU1QgU1RZTEVTICoqKiovXG5AaW1wb3J0IFwiZ2xvYmFsL2JzLWJsb2ctc3R5bGVzXCI7XG5cbi8qIDZhLiBDb21tZW50cyBTZWN0aW9uIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9icy1jb21tZW50c1wiO1xuXG4vKiA2Yi4gQUpBWCBCbG9nIExvb3AgU2hvcnRjb2RlIFN0eWxlcyAqL1xuQGltcG9ydCBcImdsb2JhbC9hamF4LWJsb2ctbG9vcC1zaG9ydGNvZGVcIjtcblxuLyoqKiogNy4gUE9SVEZPTElPIFNUWUxFUyAqKioqL1xuLy8gQGltcG9ydCBcImdsb2JhbC9icy1wb3J0Zm9saW9cIjtcblxuXG4vKioqKiA4LiBTRVJWSUNFUyBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtc2VydmljZXNcIjtcblxuXG4vKioqKiA5LiBTVEFGRiBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvYnMtc3RhZmZcIjtcblxuXG4vKioqKiAxMC4gNDA0IFBBR0UgU1RZTEVTICoqKiovXG5AaW1wb3J0IFwiZ2xvYmFsLzQwNC1zdHlsZXNcIjtcblxuXG4vKioqKiAxMS4gSUUvRURHRSBTVFlMRVMgKioqKi9cbkBpbXBvcnQgXCJnbG9iYWwvaWUtZWRnZS1zdHlsZXNcIjtcblxuXG4vKioqKiAxMi4gU0FGQVJJIFNUWUxFUyAqKioqL1xuQGltcG9ydCBcImdsb2JhbC9zYWZhcmktc3R5bGVzXCI7XG5cblxuLyoqKiogMTMuIFNFQVJDSCBGT1JNIFNUWUxFUyAqKioqL1xuQGltcG9ydCBcImdsb2JhbC9zZWFyY2gtZm9ybS1zdHlsZXNcIjtcbiIsIi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHJlbS1jYWxjKC05OTk5KTtcblxuICAmOmZvY3VzIHtcbiAgICBsZWZ0OiA2cHg7XG4gICAgdG9wOiA3cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwMDczYWE7XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwwLDAsLjYpO1xuICB9XG59XG4udG9vbHRpcCB7XG4gIC8vIGJhY2tncm91bmQ6ICRsdHllbGxvdztcbiAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGJsdWU7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIyMCk7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDYpIHJlbS1jYWxjKDEwKTtcbiAgd2lkdGg6IGF1dG87XG5cbiAgJi5yaWdodDpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgcmVtLWNhbGMoNikgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRibHVlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgJi5yaWdodDphZnRlciB7XG4gICAgYm9yZGVyOiBpbnNldCByZW0tY2FsYyg4KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGJsdWUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbmRpdiNhMTF5LXRvb2xiYXIge1xuICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5O1xuICBib3JkZXItcmFkaXVzOiAwIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDQpIDA7XG4gIGJveC1zaGFkb3c6ICRib3hzaGFkb3c7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTAwMjtcblxuICBkaXYjYTExeS1mb250c2l6ZSwgZGl2I2ExMXktY29udHJhc3Qge1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjg1KTtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoNik7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgICYuYTExeS1mb250c2l6ZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgcmVtLWNhbGMoNCkgMCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkZ3JheTtcbiAgICAgIH1cbiAgICAgICYuYTExeS1jb250cmFzdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCByZW0tY2FsYyg0KSAwO1xuICAgICAgfVxuICAgICAgJi5hMTF5LWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICYuYTExeS1mb250c2l6ZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGx0Z3JheSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzcGFuW2RhdGEtdG9vbHRpcF0ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5hMTF5LWxlZnQge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICYuYmFja3RvcC1sZWZ0IHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYyg3NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYTExeS1yaWdodCB7XG4gICAgLy8gYm94LXNoYWRvdzogcmVtLWNhbGMoLTEpIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDUpICRibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KSAwIDAgcmVtLWNhbGMoNCk7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICYuYmFja3RvcC1yaWdodCB7XG4gICAgICAgIGJvdHRvbTogcmVtLWNhbGMoNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdiNhMTF5LWZvbnRzaXplLCBkaXYjYTExeS1jb250cmFzdCB7XG5cbiAgICAgIGJ1dHRvbiB7XG5cbiAgICAgICAgJi5hMTF5LWZvbnRzaXplIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KSAwIDAgMDtcbiAgICAgICAgfVxuICAgICAgICAmLmExMXktY29udHJhc3Qge1xuICAgICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDAgMCAwIHJlbS1jYWxjKDMpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqKiogVE9HR0xFIEZPTlRTSVpFIFNUWUxFUyAqKioqL1xuaHRtbC5hMTF5LWZvbnRzaXplIHtcblxuICAuYnMtYnRuLCAuYnV0dG9uLFxuICBoZWFkZXIjbWFzdGhlYWQgLmFsdC1uYXYtd3JhcHBlciAuYWx0LW5hdi1teS1jYXJ0IGEsXG4gIC50b3AtYmFyLXNvY2lhbCB1bCBsaS5jdXN0b20tYnV0dG9uIGEsXG4gIG5hdi5vZmYtY2FudmFzIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSxcbiAgbmF2Lm9mZi1jYW52YXMgLmFsdC1uYXYtbXktY2FydCBhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICB9XG4gIHAsIGEsIGxpLCBzcGFuLCB0aW1lLCBzdHJvbmcsIGVtLCBjb2RlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgfVxuICBoMiwgaDIgc3BhbiwgaDIgYSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNCkgIWltcG9ydGFudDtcbiAgfVxuICBoMywgaDMgc3BhbiwgaDMgYSxcbiAgYm9keS53b29jb21tZXJjZSB1bC5wcm9kdWN0cyA+IGxpLnByb2R1Y3QgPiBhIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UgdWwucHJvZHVjdHMgPiBsaS5wcm9kdWN0ID4gYSAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApICFpbXBvcnRhbnQ7XG4gIH1cbiAgaDQsIGg0IHNwYW4sIGg0IGEsXG4gIGg1LCBoNSBzcGFuLCBoNSBhLFxuICBoNiwgaDYgc3BhbiwgaDYgYSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNikgIWltcG9ydGFudDtcbiAgfVxuICBuYXYub2ZmLWNhbnZhcyAubWVudSA+IGxpID4gYSxcbiAgaGVhZGVyI21hc3RoZWFkIC5tZW51ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KSAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygtMSk7XG4gIH1cbiAgaGVhZGVyI21hc3RoZWFkIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIgYnV0dG9uLm1lbnUtaWNvbiBzcGFuIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKSAhaW1wb3J0YW50O1xuICB9XG4gIC5icmVhZGNydW1icy13cmFwcGVyICNicmVhZGNydW1icyBsaSxcbiAgLmJyZWFkY3J1bWJzLXdyYXBwZXIgI2JyZWFkY3J1bWJzIGxpIGEsXG4gIGJvZHkud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIsIGJvZHkud29vY29tbWVyY2UtcGFnZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYixcbiAgYm9keS53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBzcGFuLnNlcGFyYXRvciwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIHNwYW4uc2VwYXJhdG9yLCBkaXYud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgc3Bhbi5zZXBhcmF0b3IsXG4gIGJvZHkud29vY29tbWVyY2UgLmJyZWFkY3J1bWJzLXdyYXBwZXIgbmF2Lndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSwgYm9keS53b29jb21tZXJjZS1wYWdlIC5icmVhZGNydW1icy13cmFwcGVyIG5hdi53b29jb21tZXJjZS1icmVhZGNydW1iIGEsIGRpdi53b29jb21tZXJjZSAuYnJlYWRjcnVtYnMtd3JhcHBlciBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgfVxuICAuZW50cnktY29udGVudCB7XG5cbiAgICBmaWd1cmUud3AtY2FwdGlvbiBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbiAgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggaW5wdXQgKyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICBoMS5lbnRyeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCkgIWltcG9ydGFudDtcbiAgfVxuICBhc2lkZS5zaWRlYmFyIHtcblxuICAgIC53aWRnZXQge1xuXG4gICAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBsaSwgbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNmb290ZXItY29udGFpbmVyIHtcblxuICAgIC5wcmUtZm9vdGVyIHtcblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgcCwgYSwgbGksIHNwYW4sIHRpbWUsIHN0cm9uZywgZW0ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1jb250YWluZXIge1xuXG4gICAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBwLCBhLCBsaSwgc3BhbiwgdGltZSwgc3Ryb25nLCBlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAjY29weXJpZ2h0IHtcblxuICAgICAgcCwgYSwgbGksIHNwYW4sIHRpbWUsIHN0cm9uZywgZW0ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaHRtbC5hMTF5LWNvbnRyYXN0IHtcblxuICBhLCBhYmJyLCBhcnRpY2xlLCBhc2lkZSwgYmFzZWZvbnQsIGJkaSwgYmlnLCBibGluaywgYmxvY2txdW90ZSwgYm9keSwgYnV0dG9uLCBjYW52YXMsIGNhcHRpb24sIGNlbnRlciwgY29kZSwgY29sLCBjb2xncm91cCwgY29tbWFuZCwgZGQsIGRldGFpbHMsIGRpciwgZGl2LCBkbCwgZHQsIGVtYmVkLCBmaWVsZHNldCwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb250LCBmb290ZXIsIGZvcm0sIGhlYWRlciwgaGdyb3VwLCBodG1sLCBpZnJhbWUsIGltZywgaW5wdXQsIGtiZCwgbGFiZWwsIGxlZ2VuZCwgbGksIGxpc3RpbmcsIG1hcmssIG1hcnF1ZWUsIG1lbnUsIG1ldGVyLCBtdWx0aWNvbCwgbmF2LCBub2JyLCBvYmplY3QsIG9sLCBvcHRpb24sIHAsIHBsYWludGV4dCwgcHJlLCBwcm9ncmVzcywgcSwgcywgc2VjdGlvbiwgc2VsZWN0LCBzbWFsbCwgc3Bhbiwgc3RyaWtlLCBzdWIsIHN1bW1hcnksIHN1cCwgdGFibGUsIHRkLCB0ZXh0YXJlYSwgdGgsIHRpbWUsIHRyLCB0dCwgdWwsIHZhciwgeG1wLCBib2R5Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgc3Bhbi5wcmljZSBzcGFuLmFtb3VudCwgYm9keS53b29jb21tZXJjZS1wYWdlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgc3Bhbi5wcmljZSBzcGFuLmFtb3VudCwgZGl2Lndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzID4gbGkucHJvZHVjdCA+IGEgc3Bhbi5wcmljZSBzcGFuLmFtb3VudCwgI21haW4tY29udGFpbmVyIGgyLCAjbWFpbi1jb250YWluZXIgaDIgc3BhbiwgI21haW4tY29udGFpbmVyIGgzLCAjbWFpbi1jb250YWluZXIgaDMgc3BhbiwgI21haW4tY29udGFpbmVyIGg0LCAjbWFpbi1jb250YWluZXIgaDQgc3BhbiwgI21haW4tY29udGFpbmVyIGg1LCAjbWFpbi1jb250YWluZXIgaDUgc3BhbiwgI21haW4tY29udGFpbmVyIGg2LCAjbWFpbi1jb250YWluZXIgaDYgc3BhbiwgLnByZS1mb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIGgxLCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDIsIC5wcmUtZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciBoMywgLnByZS1mb290ZXItY29udGFpbmVyIC5wcmUtZm9vdGVyIGg0LCAucHJlLWZvb3Rlci1jb250YWluZXIgLnByZS1mb290ZXIgaDUsIC5wcmUtZm9vdGVyLWNvbnRhaW5lciAucHJlLWZvb3RlciBoNiwgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoMSwgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoMiwgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoMywgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoNCwgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoNSwgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBoNiwgc3Bhbi5yZXF1aXJlZCwgYm9keS53b29jb21tZXJjZSBzcGFuLnJlcXVpcmVkLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5yZXF1aXJlZCwgZGl2Lndvb2NvbW1lcmNlIHNwYW4ucmVxdWlyZWQge1xuICAgIGNvbG9yOiAjRjNGM0YzICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IHllbGxvdyAhaW1wb3J0YW50O1xuICB9XG4gICNtYWluLWNvbnRhaW5lciBhLCAucHJlLWZvb3Rlci1jb250YWluZXIgYSwgLmZvb3Rlci1jb250YWluZXIgLmZvb3RlciBhLCAjY29weXJpZ2h0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYXJ0aWNsZSwgYXNpZGUsIGIsIGJhc2Vmb250LCBiZGksIGJpZywgYmxpbmssIGJsb2NrcXVvdGUsIGJvZHksIGNhbnZhcywgY2FwdGlvbiwgY2VudGVyLCBjaXRlLCBjb2RlLCBjb2wsIGNvbGdyb3VwLCBjb21tYW5kLCBkZCwgZGV0YWlscywgZGZuLCBkaXIsIGRpdiwgZGwsIGR0LCBlbSwgZW1iZWQsIGZpZWxkc2V0LCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvbnQsIGZvb3RlciwgZm9ybSwgaDEsIGgxIGEsIGgxIGEgYiwgaDEgYWJiciwgaDEgY2VudGVyLCBoMSBzcGFuLCBoMiwgaDIgYSwgaDIgYSBiLCBoMiBhYmJyLCBoMiBjZW50ZXIsIGgyIHNwYW4sIGgzLCBoMyBhLCBoMyBhIGIsIGgzIGFiYnIsIGgzIGNlbnRlciwgaDMgc3BhbiwgaDQsIGg0IGEsIGg0IGEgYiwgaDQgYWJiciwgaDQgY2VudGVyLCBoNCBzcGFuLCBoNSwgaDUgYSwgaDUgYSBiLCBoNSBhYmJyLCBoNSBjZW50ZXIsIGg1IHNwYW4sIGg2LCBoNiBhLCBoNiBhIGIsIGg2IGFiYnIsIGg2IGNlbnRlciwgaDYgc3BhbiwgaGVhZGVyLCBoZ3JvdXAsIGh0bWwsIGksIGlmcmFtZSwgaW5wdXQsIGtiZCwgbGFiZWwsIGxlZ2VuZCwgbGksIGxpc3RpbmcsIG1hcmssIG1hcnF1ZWUsIG1lbnUsIG1ldGVyLCBtdWx0aWNvbCwgbmF2LCBub2JyLCBvYmplY3QsIG9sLCBvcHRpb24sIHAsIHBsYWludGV4dCwgcHJlLCBwcm9ncmVzcywgcSwgcywgc2VjdGlvbiwgc21hbGwsIHNwYW4sIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1bW1hcnksIHN1cCwgdGFibGUsIHRkLCB0ZXh0YXJlYSwgdGgsIHRpbWUsIHRyLCB0dCwgdSwgdWwsIHZhciwgeG1wLCAuYnMtYnRuLCAuYnV0dG9uLCBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXItc29jaWFsIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIGxpLmN1c3RvbS1idXR0b24gYSB7XG4gICAgLy8gYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGM0YzRjMgIWltcG9ydGFudDtcbiAgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuICBpbWcge1xuICAgIGJhY2tncm91bmQ6ICM4MDgwODAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwICFpbXBvcnRhbnQ7XG4gICAgbWl4LWJsZW5kLW1vZGU6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgYm9keS53b29jb21tZXJjZS1wYWdlIC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMud2MtdGFicyBsaS5hY3RpdmUsXG4gIGJvZHkud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtdGFicyB1bC50YWJzLndjLXRhYnMgbGkuYWN0aXZlIGEge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG4gIGJvZHkud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YmVmb3JlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2Ugc3Bhbi5vbnNhbGU6YmVmb3JlLCBkaXYud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkYmxhY2s7XG4gIH1cbiAgYm9keS53b29jb21tZXJjZSBzcGFuLm9uc2FsZTphZnRlciwgYm9keS53b29jb21tZXJjZS1wYWdlIHNwYW4ub25zYWxlOmFmdGVyLCBkaXYud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGU6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibGFjaztcbiAgfVxufVxuIiwiJGZvbnRzdGFjazogJ3J1YmlrJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiRmb250YXdlc29tZTogJ0ZvbnQgQXdlc29tZSA1IFBybycsICdmb250YXdlc29tZSc7XG4kcmVkOiAjYjAxZjIzO1xuJG9yYW5nZTogI2I2NWIyNDtcbiRkYXJrYmx1ZTogIzAwMjQ0NTtcbiRtZWRibHVlOiAjMDAzNTY1O1xuJGJsdWU6ICMyMjcyQjQ7XG4kYmx1ZWFscGhhOiByZ2JhKDM0LDExNCwxODAsMC44NSk7XG4kbHRibHVlOiAjNUFCMUUwO1xuJGx0Ymx1ZWFscGhhOiByZ2JhKDkwLDE3NywyMjQsMC45NSk7XG4kbHRibHVlYWxwaGEyOiByZ2JhKDkwLDE3NywyMjQsMC4zNSk7XG4kd2hpdGU6ICNGRkZGRkY7XG4kYmxhY2s6ICMwMDAwMDA7XG4kYWxtb3N0YmxhY2s6ICMzMzMzMzM7XG4kZ3JlZW46ICMwMDgwMDA7XG4kbHRncmVlbjogIzQ0YTA0NDtcbiRncmF5OiAjNjY2NjY2O1xuJGx0Z3JheTogI0Q1Q0RCNztcbiRnb2xkOiAjYjk5YzAwO1xuJHllbGxvdzogI0ZEQzAwMDtcbiRsdHllbGxvdzogI2ZlZjNhMTtcblxuLy8gQm94IFNoYWRvd3NcbiRib3hzaGFkb3c6IDAgcmVtLWNhbGMoNCkgcmVtLWNhbGMoMTIpIHJnYmEoMCwwLDAsLjI1KTtcbiRib3hzaGFkb3ctLWxpdGU6IDAgcmVtLWNhbGMoNCkgcmVtLWNhbGMoMTIpIHJnYmEoMCwwLDAsLjE2KTtcbiRib3hzaGFkb3ctLWxhcmdlOiAwIHJlbS1jYWxjKDgpIHJlbS1jYWxjKDMyKSByZW0tY2FsYygtOCkgcmdiYSgwLDAsMCwuMjUpO1xuXG4vLyBTb2NpYWwgTWVkaWEgQ29sb3JzXG4kZmFjZWJvb2s6ICMzYjU5OTg7XG4kdHdpdHRlcjogIzAwYWNlZDtcbiRnb29nbGVwbHVzOiAjZGQ0YjM5O1xuJGxpbmtlZGluOiAjMDA3YmI2O1xuJHBpbnRlcmVzdDogI2NiMjAyNztcblxuLy8gTWlzYyBWYXJpYWJsZXNcbiRsczogcmVtLWNhbGMoNik7XG4kbHMyOiByZW0tY2FsYyguNSk7XG4kdnNwYWNlOiByZW0tY2FsYygxMjgpO1xuJHZzcGFjZTEwMjQ6IHJlbS1jYWxjKDY0KTtcblxuLy8gQnJlYWtwb2ludCB2YXJpYWJsZXNcbiRicmVhazE3MDA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNi4yNWVtKVwiO1xuJGJyZWFrMTYwMDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwZW0pXCI7XG4kYnJlYWsxNDAwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny41ZW0pXCI7XG4kYnJlYWsxMzAwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNWVtKVwiO1xuJGJyZWFrMTIwMDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSlcIjtcbiRicmVhazExMDA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4Ljc1ZW0pXCI7XG4kYnJlYWsxMDI0OiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKVwiO1xuJG1pbmJyZWFrMTAyNTogXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKVwiO1xuJGJyZWFrOTcyOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MC43NWVtKVwiO1xuJGJyZWFrOTUxOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OS40Mzc1ZW0pXCI7XG4kYnJlYWs5MDA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2LjI1ZW0pXCI7XG4kYnJlYWs4MDA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwZW0pXCI7XG4kYnJlYWs3Njg6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pXCI7XG4kYnJlYWs3Njc6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSlcIjtcbiRicmVhazY0MDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSlcIjtcbiRicmVhazYzOTogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKVwiO1xuJGJyZWFrNjAwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pXCI7XG4kYnJlYWs1MDA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMxLjI1ZW0pXCI7XG4kYnJlYWs0ODA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwZW0pXCI7XG4kYnJlYWs0MDA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pXCI7XG4kYnJlYWszNzU6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIzLjQzNzVlbSlcIjtcblxuLy8gRm9udCBzaXplIHZhcmlhYmxlc1xuJGN0YTogcmVtLWNhbGMoNDApICFpbXBvcnRhbnQ7XG4kY3RhMTAyNDogcmVtLWNhbGMoMzIpICFpbXBvcnRhbnQ7XG4kbWFpbnRpdGxlOiByZW0tY2FsYyg0MCk7XG4kbWFpbnRpdGxlMTAyNDogcmVtLWNhbGMoMzIpO1xuXG4kaDE6IHJlbS1jYWxjKDQwKTtcbiRoMjogcmVtLWNhbGMoMzIpO1xuJGgzOiByZW0tY2FsYygyNik7XG4kaDQ6IHJlbS1jYWxjKDIxKTtcbiRoNTogcmVtLWNhbGMoMTkpO1xuJGg2OiByZW0tY2FsYygxOCk7XG4kYm9keWNvcHk6IHJlbS1jYWxjKDIwKTtcblxuJGgxXzEwMjQ6IHJlbS1jYWxjKDMyKTtcbiRoMl8xMDI0OiByZW0tY2FsYygyNik7XG4kaDNfMTAyNDogcmVtLWNhbGMoMjIpO1xuJGg0XzEwMjQ6IHJlbS1jYWxjKDE4KTtcbiRoNV8xMDI0OiByZW0tY2FsYygxNyk7XG4kaDZfMTAyNDogcmVtLWNhbGMoMTcpO1xuJGJvZHljb3B5XzEwMjQ6IHJlbS1jYWxjKDE2KTtcblxuLy8gTWl4aW5zXG5AbWl4aW4gdHJhbnNpdGlvbigkYXR0ciwgJHRpbWluZzogLjJzLCAkZWFzaW5nOiBlYXNlLW91dCwgJGRlbGF5OiAwcykge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICRhdHRyICR0aW1pbmcgJGVhc2luZyAkZGVsYXk7XG4gICAgIC1tb3otdHJhbnNpdGlvbjogJGF0dHIgJHRpbWluZyAkZWFzaW5nICRkZWxheTtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiAkYXR0ciAkdGltaW5nICRlYXNpbmcgJGRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb246ICRhdHRyICR0aW1pbmcgJGVhc2luZyAkZGVsYXk7XG59XG5cbi8vIEZsdWlkIFR5cGUgTWl4aW5cbi8vIGV4OiBAaW5jbHVkZSBmbHVpZC10eXBlKDFyZW0sMS41cmVtLDMwcmVtLDY0cmVtKTtcbkBtaXhpbiBmbHVpZC10eXBlKCRtaW4tZm9udC1zaXplOiAxLjI1cmVtLCAkbWF4LWZvbnQtc2l6ZTogMS43NXJlbSwgJGxvd2VyLXJhbmdlOiAzMHJlbSwgJHVwcGVyLXJhbmdlOiA4Ny41cmVtKSB7XG5cbiAgZm9udC1zaXplOiBjYWxjKCN7JG1pbi1mb250LXNpemV9ICsgI3soKCRtYXgtZm9udC1zaXplIC8gKCRtYXgtZm9udC1zaXplICogMCArIDEpKSAtICgkbWluLWZvbnQtc2l6ZSAvICgkbWluLWZvbnQtc2l6ZSAqIDAgKyAxKSkpfSAqICggKDEwMHZ3IC0gI3skbG93ZXItcmFuZ2V9KSAvICN7KCgkdXBwZXItcmFuZ2UgLyAoJHVwcGVyLXJhbmdlICogMCArIDEpKSAtICgkbG93ZXItcmFuZ2UgLyAoJGxvd2VyLXJhbmdlICogMCArIDEpKSl9KSkgIWltcG9ydGFudDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItcmFuZ2UpIHtcbiAgICBmb250LXNpemU6ICRtaW4tZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLXJhbmdlKXtcbiAgICBmb250LXNpemU6ICRtYXgtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIiNwcmVsb2FkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG5cbiAgLnByZWxvYWRlci1pbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQwMCk7XG5cbiAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMDApO1xuICAgIH1cbiAgfVxuICAubGV0dGVyLWhvbGRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbiAgLmxldHRlciB7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuYW5pbWF0ZS1sb2FkaW5nIHtcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gbGVmdDogNTAlO1xuICAgIC8vIHRvcDogNDAlO1xuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4gIC5hbmltYXRlLWxvYWRpbmcgLmxldHRlciB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRpbmdGO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS42cztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBsaW5lYXI7XG4gIH1cbiAgLmwtMSB7IGFuaW1hdGlvbi1kZWxheTogLjQ4czsgfVxuICAubC0yIHsgYW5pbWF0aW9uLWRlbGF5OiAuNnM7IH1cbiAgLmwtMyB7IGFuaW1hdGlvbi1kZWxheTogLjcyczsgfVxuICAubC00IHsgYW5pbWF0aW9uLWRlbGF5OiAuODRzOyB9XG4gIC5sLTUgeyBhbmltYXRpb24tZGVsYXk6IC45NnM7IH1cbiAgLmwtNiB7IGFuaW1hdGlvbi1kZWxheTogMS4wOHM7IH1cbiAgLmwtNyB7IGFuaW1hdGlvbi1kZWxheTogMS4yczsgfVxuICAubC04IHsgYW5pbWF0aW9uLWRlbGF5OiAxLjMyczsgfVxuICAubC05IHsgYW5pbWF0aW9uLWRlbGF5OiAxLjQ0czsgfVxuICAubC0xMCB7IGFuaW1hdGlvbi1kZWxheTogMS41NnM7IH1cblxuICBAa2V5ZnJhbWVzIGxvYWRpbmdGIHtcbiAgICAwJSB7b3BhY2l0eTogMDt9XG4gICAgMTAwJSB7b3BhY2l0eTogMTt9XG4gIH1cbn1cbi5hZG1pbi1iYXIgI3ByZWxvYWRlciBpbWcge1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNik7XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODJweCkge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIzKTtcbiAgfVxufVxuIiwiKiB7XG4gIC13ZWJraXQtaHlwaGVuczogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWh5cGhlbnM6IG5vbmUgIWltcG9ydGFudDtcbiAgaHlwaGVuczogbm9uZSAhaW1wb3J0YW50O1xufVxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0LFxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG59XG5hW2hyZWZePXRlbF0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xufVxuYSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrO1xufVxucCwgbGkge1xuICBAaW5jbHVkZSBmbHVpZC10eXBlKHJlbS1jYWxjKCRib2R5Y29weV8xMDI0KSxyZW0tY2FsYygkYm9keWNvcHkpKTtcbiAgZm9udC1mYW1pbHk6ICRmb250c3RhY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgc3Bhbjpub3QoW2NsYXNzKj0nZmEnXSksIHRpbWUge1xuICAgIC8vIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IFxuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbnAge1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXZ3ICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje3JlbS1jYWxjKDE0MDEpfSkge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ4KSAhaW1wb3J0YW50O1xuICB9XG4gIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KSAhaW1wb3J0YW50O1xuICB9XG4gIFxufVxuLm1iMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5waXBlLXNlcGFyYXRvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICBtYXJnaW46IDAgcmVtLWNhbGMoNik7XG59XG5idXR0b24ubWVudS1pY29uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICRibHVlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsZXR0ZXItc3BhY2luZzogLS4wMXJlbTtcbiAgLy8gbGluZS1oZWlnaHQ6IDQuMjU7XG4gIC8vIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMCk7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAuODVzLCBlYXNlLW91dCk7XG5cbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBzcGFuLm1lbnUtaWNvbi1iYXIge1xuICAgIGJhY2tncm91bmQ6ICR5ZWxsb3cgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgIC8vIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjM1cywgZWFzZS1pbi1vdXQsIC4xNXMpO1xuXG4gICAgJi5tZW51LWljb24tYmFyLTIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC42NXMsIGVhc2UtaW4tb3V0KTtcbiAgICB9XG4gIH1cbiAgJi5hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgdHJhbnNsYXRlWCgje3JlbS1jYWxjKDEwKX0pO1xuICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC43NXMsIGVhc2UtaW4tb3V0KTtcblxuICAgIHNwYW4ubWVudS1pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAuMzVzLCBlYXNlLWluLW91dCk7XG4gICAgfVxuICAgIHNwYW4ubWVudS1pY29uLWJhci0xIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgc3Bhbi5tZW51LWljb24tYmFyLTIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC42NXMsIGVhc2Utb3V0LCAuMzVzKTtcbiAgICB9XG4gICAgc3Bhbi5tZW51LWljb24tYmFyLTMge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAvLyBzcGFuLm1lbnUtaWNvbi1iYXIge1xuICAgIC8vICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIC8vIH1cbiAgfVxufVxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmLmFsaWduY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi5hbGlnbmxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgJi5hbGlnbnJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuaDIsIGgyIHNwYW4ge1xuICBmb250LXNpemU6ICRoMjtcbn1cbmgzLCBoMyBzcGFuIHtcbiAgZm9udC1zaXplOiAkaDM7XG59XG5oNCwgaDQgc3BhbiB7XG4gIGZvbnQtc2l6ZTogJGg0O1xufVxuaDUsIGg1IHNwYW4ge1xuICBmb250LXNpemU6ICRoNTtcbn1cbmg2LCBoNiBzcGFuIHtcbiAgZm9udC1zaXplOiAkaDY7XG59XG4uYWxpZ25yaWdodCwgLmFsaWdubGVmdCwgLmFsaWduY2VudGVyLCAuYWxpZ25ub25lIHtcbiAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMjApIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuZmlndXJlIHtcblxuICAmLmFsaWducmlnaHQsICYuYWxpZ25sZWZ0LCAmLmFsaWduY2VudGVyLCAmLmFsaWdubm9uZSB7XG5cbiAgICBpbWcge1xuICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uc2VjdGlvbi1oZWFkaW5nIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcblxuICBzcGFuLnNlY3Rpb24taGVhZGluZy1pbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE1MCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi5hbGlnbmNlbnRlciB7XG5cbiAgICBzcGFuLnNlY3Rpb24taGVhZGluZy1pbm5lciB7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5hbGlnbnJpZ2h0IHtcblxuICAgIHNwYW4uc2VjdGlvbi1oZWFkaW5nLWlubmVyIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5zcGFuLnN1Yi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDY1JTtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwO1xufVxuLnBsMTUge1xuICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xufVxuLnByMTUge1xuICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbn1cbi5tdDE1IHtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG59XG4ubWIxNSB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xufVxuLnZjYXJkIGFiYnIge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogdGV4dCAhaW1wb3J0YW50O1xufVxuLnZjYXJkIC50eXBlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuXG4gICYuaXMtb3Blbi1yaWdodCB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIGhlYWRlciNtYXN0aGVhZCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuXG4gICAgaGVhZGVyI21hc3RoZWFkIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgcmVtLWNhbGMoMykgcmVtLWNhbGMoMTApIHJnYmEoMCwwLDAsLjUpO1xuICAgIH1cbiAgfVxufVxudWwucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8qIEZvdW5kYXRpb24gNiBUYWJzIFN0eWxlcyAqL1xuLnRhYnMge1xuICBib3JkZXI6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTEpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygxNSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyk7XG4gICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGx0Z3JheTtcbiAgICAgICAgYm94LXNoYWRvdzogMCByZW0tY2FsYygtMikgcmVtLWNhbGMoNykgIzAwMWU2MTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pcy1hY3RpdmUge1xuXG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGx0Z3JheTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJGJsdWU7XG59XG5cblxuLyogRm91bmRhdGlvbiA2IEFjY29yZGlvbiBTdHlsZXMgKi9cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgLy8gYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcblxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIC8vIGJvdHRvbTogcmVtLWNhbGMoLTEpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMTUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICByaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucm91bmRlZCB7XG5cbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuXG4gICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNCkgIWltcG9ydGFudDtcblxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KSByZW0tY2FsYyg0KSAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmNoZXZyb24sICYudHJpYW5nbGUge1xuXG4gICAgLmFjY29yZGlvbi1pdGVtIHtcblxuICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNzgnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50cmlhbmdsZSB7XG5cbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuXG4gICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZjBkNycgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgI2Zvb3Rlci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xufVxuLmhpZGUtZm9yLW5vdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgc3BlYWs6IG5vbmU7XG4gIGxlZnQ6IC05OTk5cHg7XG59XG4udGhlLXRhZ3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDIuNXJlbSAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gIH1cbn1cbi5rZWVwLXRvZ2V0aGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5ib2R5Lm1vZGFsLWFjdGl2ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYnMtYnRuLCAuZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbiwgI3Jlc3BvbmQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHllbGxvdztcbiAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMjAwKTtcbiAgY29sb3I6ICRibGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaW5jbHVkZSBmbHVpZC10eXBlKHJlbS1jYWxjKDE2KSxyZW0tY2FsYygxOCkpO1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAkbHM7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSByZW0tY2FsYyg0MCkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbn1cbi5icy1idG4uYnMtYnRuLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICR3aGl0ZTtcbn1cbi5icy1idG4uYnMtYnRuLXdoaXRlOmhvdmVyLFxuLmJzLWJ0bi5icy1idG4td2hpdGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJGJsYWNrO1xuICBjb2xvcjogJHdoaXRlO1xufVxuLmJzLWJ0bi5icy1idG4tcmVkIHtcbiAgYmFja2dyb3VuZDogJHJlZDtcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkcmVkO1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uYnMtYnRuLmJzLWJ0bi1yZWQ6aG92ZXIsXG4uYnMtYnRuLmJzLWJ0bi1yZWQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJGJsYWNrO1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uYnMtYnRuLmJzLWJ0bi1ibHVlIHtcbiAgYmFja2dyb3VuZDogJGJsdWUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkYmx1ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uYnMtYnRuLmJzLWJ0bi1ibHVlOmhvdmVyLFxuLmJzLWJ0bi5icy1idG4tYmx1ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uYnMtYnRuLmJzLWJ0bi1jbGVhciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkd2hpdGUgIWltcG9ydGFudDtcbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xufVxuLmJzLWJ0bi5icy1idG4tY2xlYXI6aG92ZXIsXG4uYnMtYnRuLmJzLWJ0bi1jbGVhcjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uYnMtYnRuLmJzLWJ0bi1ibGFjayB7XG4gIGJhY2tncm91bmQ6ICRibGFjaztcbiAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG4uYnMtYnRuLmJzLWJ0bi1ibGFjazpob3Zlcixcbi5icy1idG4uYnMtYnRuLWJsYWNrOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRibGFjaztcbiAgY29sb3I6ICRibGFjaztcbn1cbi5icy1idG46aG92ZXIsXG4uYnMtYnRuOmZvY3VzLFxuLmdmb3JtX2Zvb3RlciBpbnB1dC5nZm9ybV9idXR0b246aG92ZXIsXG4uZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvbjpmb2N1cyxcbiNyZXNwb25kIC5idXR0b246aG92ZXIsXG4jcmVzcG9uZCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRibGFjaztcbiAgY29sb3I6ICR3aGl0ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpICFpbXBvcnRhbnQ7XG59XG4uYnMtYnRucy13cmFwcGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuYnMtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwKSByZW0tY2FsYygxMCkgMCA7XG5cbiAgICBAbWVkaWEgI3skYnJlYWs2MDB9IHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDUpIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbmltZy5sYXp5bG9hZCB7XG4gIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuaW1nLmxhenlsb2FkZWQge1xuICBvcGFjaXR5OiAxO1xufVxuLm1heC13aWR0aC1zaXh0ZWVuLWh1bmRyZWQge1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE2MDApICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLm1heC13aWR0aC1mb3VydGVlbi1odW5kcmVkIHtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYygxNDAwKSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tYXgtd2lkdGgtdHdlbHZlLWVpZ2h0eSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyODApO1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tYXgtd2lkdGgtdHdlbHZlLWh1bmRyZWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ubWF4LXdpZHRoLWVsZXZlbi1maWZ0eSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDExNTApO1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tYXgtd2lkdGgtdGVuLXR3ZW50eWZvdXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDI0KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ubWF4LXdpZHRoLW5pbmUtc2V2ZW50eSB7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoOTcwKSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tYXgtd2lkdGgtZWlnaHQtdGhpcnR5IHtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MzApICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLm1heC13aWR0aC1laWdodC1odW5kcmVkIHtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MDApICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxudWwuc2xpY2stZG90cyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDMuMTI1dncgMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gei1pbmRleDogMTAwO1xuXG4gIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE3KTtcbiAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTcpO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgfVxuICB9XG5cbn1cbmJ1dHRvbi5zbGljay1hcnJvdyB7XG4gIGJvdHRvbTogcmVtLWNhbGMoLTcpO1xuICBjb2xvcjogJGJsdWU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDMuMTI1dncgKiAzKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDUwJTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICYuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygzLjEyNXZ3ICogMyk7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gICYuc2xpY2stZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogLjI1O1xuICB9XG59XG4uZW50cnktY29udGVudCB7XG5cbiAgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgfVxuICBoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBoMiArIGgzLCBoMyArIGg0LCBoNCArIGg1LCBoNSArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkbWVkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZShyZW0tY2FsYygyNCkscmVtLWNhbGMoMzUpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgICBcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmaWd1cmUud3AtY2FwdGlvbiB7XG5cbiAgICBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICB1bC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICB9XG4gIHVsLnJvdyBsaS5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgdWwucm93IC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgdWwucm93IC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIG9sLnJvdyAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIG9sLnJvdyAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICBwICsgdWwsIHAgKyBvbCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTE1KTtcbiAgfVxuICAuYWxpZ253aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTgwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC04MCk7XG4gIH1cbiAgZGl2LmFsaWduZnVsbCwgc2VjdGlvbi5hbGlnbmZ1bGwsIGFydGljbGUuYWxpZ25mdWxsLCBoZWFkZXIuYWxpZ25mdWxsLCBtYWluLmFsaWduZnVsbCwgZm9vdGVyLmFsaWduZnVsbCwgYXNpZGUuYWxpZ25mdWxsLCBuYXYuYWxpZ25mdWxsIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMTAwdncgLyAyICsgMTAwJSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMTAwdncgLyAyICsgMTAwJSAvIDIpO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gIH1cbiAgLmFsaWduZnVsbCBpbWcsIGZpZ3VyZS5hbGlnbmZ1bGwge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLmlubmVyLXdpZHRoLXNpeHRlZW4taHVuZHJlZCA+IFtjbGFzcyo9XCJfX2lubmVyLXdyYXBcIl0ge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTYwMCk7XG4gIH1cbiAgLmlubmVyLXdpZHRoLWZvdXJ0ZWVuLWh1bmRyZWQgPiBbY2xhc3MqPVwiX19pbm5lci13cmFwXCJdIHtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE0MDApO1xuICB9XG4gIC5pbm5lci13aWR0aC10d2VsdmUtaHVuZHJlZCA+IFtjbGFzcyo9XCJfX2lubmVyLXdyYXBcIl0ge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4gIH1cbiAgLmlubmVyLXdpZHRoLWVsZXZlbi1zZXZlbnR5ID4gW2NsYXNzKj1cIl9faW5uZXItd3JhcFwiXSB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMTcwKTtcbiAgfVxuICAuaW5uZXItd2lkdGgtZWlnaHQtZm9ydHkgPiBbY2xhc3MqPVwiX19pbm5lci13cmFwXCJdIHtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDg0MCk7XG4gIH1cbn1cbi5yZWFkYWJsZS1saW5lLWxlbmd0aCB7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4udGV4dC1hbGlnbi1jZW50ZXIsIC50ZXh0LWFsaWduLWNlbnRlciAqIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnJlYWRhYmxlLWxpbmUtbGVuZ3RoLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6ICRibHVlO1xuICBib3gtc2hhZG93OiAkYm94c2hhZG93O1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICYudG9wIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoOCkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYuYm90dG9tIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoOCkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYubGVmdCB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDgpICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDgpICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRibHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qIERlZmF1bHQgUGFnZSBTdHlsZXMgKi9cbi5tYWluLXdyYXAge1xuXG4gIC5tYWluLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCByZW0tY2FsYygyNSk7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tyZW0tY2FsYyg1MCl9KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuYm9keTpub3QoLmhvbWUpIC5tYWluLXdyYXAge1xuICBtYXJnaW4tdG9wOiAkdnNwYWNlMTAyNDtcbiAgbWFyZ2luLWJvdHRvbTogJHZzcGFjZTEwMjQ7XG5cbiAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIG1hcmdpbi10b3A6ICR2c3BhY2UxMDI0O1xuICAgIG1hcmdpbi1ib3R0b206ICR2c3BhY2UxMDI0O1xuICB9XG59XG5cbi8qIENvcHlyaWdodCBTdHlsZXMgKi9cbiNjb3B5cmlnaHQge1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDI1KSByZW0tY2FsYygyNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIHVsLnNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIC5zbWFsbC0xMi5tZWRpdW0tMTIubGFyZ2UtNyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jYmFjay10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwO1xuXG4gIGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgb3BhY2l0eTogLjc1O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogcmVtLWNhbGMoNDUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbiAgJi5iYWNrdG9wLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KSAwIDAgcmVtLWNhbGMoNCk7XG4gICAgfVxuICB9XG4gICYuYmFja3RvcC1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDQpIDA7XG4gICAgfVxuICB9XG4gICYuYmFja3RvcC1jZW50ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KSByZW0tY2FsYyg0KSAwIDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgfVxuICB9XG59XG4iLCJoZWFkZXIjbWFzdGhlYWQge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgMCByZW0tY2FsYygxMCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk7XG5cbiAgI2hlYWRlci1pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuc2l0ZS10aXRsZS1iYXIudGl0bGUtYmFyIHtcblxuICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuXG4gIG5hdi50b3AtYmFyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLnRvcC1iYXItdG9wIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHt9XG5cbiAgICAudG9wLWJhci1yaWdodCB7fVxuXG4gICAgLnRvcC1iYXItYm90dG9tIHt9XG5cbiAgICAudG9wLWJhci1zb2NpYWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDMyKSAwO1xuXG4gICAgICB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgICAgei1pbmRleDogOTk7XG5cbiAgICAgICAgICAmLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAvLyB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICAgICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoLTkpO1xuICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnRlbGVwaG9uZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmN1c3RvbS1idXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUocmVtLWNhbGMoMTYpLCByZW0tY2FsYygxOCkpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGxzO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlcixcbiAgICAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlcixcbiAgICAubWVudS1zZWFyY2gtd3JhcHBlciB7XG5cbiAgICAgIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC40NXMsIGVhc2UtaW4tb3V0LCAuMTVzKTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB3aWR0aDogY2FsYygzLjEyNXZ3ICogOCkgIWltcG9ydGFudDtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCNzIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQjc2VhcmNoc3VibWl0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDEyKSAwIDAgMDtcblxuICAgICAgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSB7XG5cbiAgICAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBpbWcuY3VzdG9tLWxvZ28sXG4gICAgICBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vIHZtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hbHQtbmF2LXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygxMCkgMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5hbHQtbmF2LW15LWNhcnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgLy9jb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg3KSByZW0tY2FsYygxNSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpLFxuICAgICAgc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgfVxuXG4gICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCByZW0tY2FsYyg1KTtcbiAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAmPmxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMSkgc29saWQgJGdyYXk7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmPmEge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250c3RhY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlPmEge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRlc2t0b3AtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5kZXNrdG9wLW1lbnUubWVudT5saSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZGVza3RvcC1tZW51Lm1lbnU+bGk+YSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZGVza3RvcC1tZW51Lm1lbnU+bGk6bGFzdC1vZi10eXBlIHVsLmRyb3Bkb3duIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLm1lbnU+bGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5tZW51PmxpPmEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6ICRmb250c3RhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5tZW51PmxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4+YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZW51PmxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4+YTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubWVudT5saTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gIH1cblxuICAubWVudSAuYWN0aXZlPmEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5tZW51PmxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAubWVudSAuZHJvcGRvd24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAkYm94c2hhZG93LS1sYXJnZTtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjYpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjI1cywgZWFzZS1vdXQsIC4yNXMpO1xuICB9XG5cbiAgLm1lbnUgLmRyb3Bkb3duIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWVudSAuZHJvcGRvd24gbGkgYSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgQGluY2x1ZGUgZmx1aWQtdHlwZShyZW0tY2FsYygxNiksIHJlbS1jYWxjKDE4KSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxOCkgcmVtLWNhbGMoMjUpIHJlbS1jYWxjKDE4KSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IC5kcm9wZG93biBsaSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIC5tZW51IC5kcm9wZG93biBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC5tZW51IC5kcm9wZG93biBsaTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tZW51PmxpLmlzLWFjdGl2ZTpob3ZlciAuZHJvcGRvd24sXG4gIC5tZW51PmxpLmlzLWFjdGl2ZTpmb2N1cyAuZHJvcGRvd24sXG4gIC5tZW51PmxpOmZvY3VzLXdpdGhpbiAuZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2KTtcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAuMjVzLCBlYXNlLW91dCk7XG4gIH1cblxuICAubWVudT5saS5vcGVucy1sZWZ0Pi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgfVxuXG4gIC5tZW51PmxpLm9wZW5zLWxlZnQ6bGFzdC1jaGlsZD4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAubWVudT5saS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudD5hOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIG5hdi50b3AtYmFyLmhhcy1zZWFyY2gge1xuXG4gICAgLmRlc2t0b3AtbWVudSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgICAvL3dpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICN7JGJyZWFrNjM5fSB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgfVxufSIsImhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1KSAwIHJlbS1jYWxjKDYpO1xuXG4gIC50b3AtYmFyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDM2MCk7XG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAubG9nby13cmFwcGVyLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuXG4gICAgICAgIC5jdXN0b20tbG9nby1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgcmVtLWNhbGMoMTApIDAgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tyZW0tY2FsYygzNjApfSk7XG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuYWx0LW5hdi13cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbHQtbmF2LW15LWNhcnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRvcC1iYXItc29jaWFsIHtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGVza3RvcC1tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgb3JkZXI6IDM7XG5cbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygzLjEyNXZ3ICogMS42NSk7XG4gICAgICAgICAgXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFib3ZlLW1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgfVxuICAuYWJvdmUtbWVudS1zZWFyY2gtd3JhcHBlcixcbiAgLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIG5hdi50b3AtYmFyLmhhcy1zZWFyY2gge1xuICAvL1xuICAvLyAgIHVsLmRlc2t0b3AtbWVudSB7XG4gIC8vICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gIC8vICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gIC8vICAgfVxuICAvLyB9XG4gIG5hdi50b3AtYmFyIHtcblxuICAgICB1bC5tZW51IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbiAgICAgdWwubWVudSBsaS5jdXJyZW50X3BhZ2VfcGFyZW50ID4gYSB7XG4gICAgICAgLy8gYmFja2dyb3VuZDogJGRhcmtibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICB9XG4gICAgIHVsLm1lbnUgbGkuY3VycmVudC1tZW51LWl0ZW0uaXMtc3VibWVudS1pdGVtID4gYSB7XG4gICAgICAgYmFja2dyb3VuZDogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgIH1cbiAgICAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgIH1cbiAgICAgIGZvcm0jc2VhcmNoZm9ybSB7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLnNob3cge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIGZvcm0jc2VhcmNoZm9ybSB7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLW9uZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAubG9nby13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmxvZ28td3JhcHBlciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgbmF2LnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgbmF2LnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgLmFsdC1uYXYtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgdWwubWVudSB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC50b3AtYmFyLXNvY2lhbCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gLmRyb3Bkb3duLm1lbnUuZGVza3RvcC1tZW51IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy9tYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC8vbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIG5hdi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgLy8gcmlnaHQ6IDA7XG5cbiAgICAgICYuc2hvdyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICBoZWFkZXIjbWFzdGhlYWQuaGVhZGVyLW9wdGlvbi1vbmUge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIC5sb2dvLXdyYXBwZXIuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC50b3AtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8gLnRvcC1iYXItc29jaWFsIHtcbiAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gfVxuICAgIC8vIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gfVxuICB9XG59XG4iLCIudGl0bGUtYmFyLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG5cbiAgICBhLmN1c3RvbS1sb2dvLWxpbmsge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDI1MCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIGltZyxcbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHk6bm90KC50b3BiYXIpIG5hdi5zaXRlLW5hdmlnYXRpb24ge1xuICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keS50b3BiYXIgaGVhZGVyOm5vdCguaGVhZGVyLW9wdGlvbi1vbmUpIG5hdi5zaXRlLW5hdmlnYXRpb24ge1xuXG4gIC50b3AtYmFyLXJpZ2h0LFxuICAudG9wLWJhci10b3AsXG4gIC50b3AtYmFyLWJvdHRvbSAubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbmJvZHkudG9wYmFyIGhlYWRlciNtYXN0aGVhZC5oZWFkZXItb3B0aW9uLXRocmVlIG5hdi5zaXRlLW5hdmlnYXRpb24ge1xuXG4gIC5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuaHRtbCBuYXYub2ZmLWNhbnZhcyB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kOiAkbHRibHVlYWxwaGE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDI1KSByZW0tY2FsYygyNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC41cywgZWFzZS1pbi1vdXQpO1xuXG4gICY+dWwubWVudSB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg0ODApO1xuICAgIG1hcmdpbjogMzB2dyBhdXRvIDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAuMjVzLCBlYXNlLW91dCwgLjE1cyk7XG4gIH1cblxuICB1bC5tZW51IHtcblxuICAgIGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQsXG4gICAgbGkuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgbGkuYWN0aXZlIHtcblxuICAgICAgJj5hIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6ICRib3hzaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYS5jdXN0b20tbG9nby1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuXG4gICAgaW1nLmN1c3RvbS1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCkgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjI1cywgZWFzZS1vdXQsIC4xNXMpO1xuICB9XG5cbiAgJiAubWVudTpub3QoLm5lc3RlZCk+bGkge1xuICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDIpIHNvbGlkICRibHVlO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoOCkgMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg4KSAwO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMCAwO1xuICAgIH1cbiAgfVxuXG4gICYgLm1lbnU6bm90KC5uZXN0ZWQpPmxpPmEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwIDAgcmVtLWNhbGMoMTQpIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAmPmxpPmEge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogJHllbGxvdztcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg4KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgIHRvcDogcmVtLWNhbGMoLTIpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBjb250ZW50OiAnXFxmMDc4JztcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udGF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQxKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgfVxuICB9XG5cbiAgdWwubWVudS5hbHQtbWVudSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICY+Lm1lbnU+bGkuaXMtYWN0aXZlPmEsXG4gIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDgwKTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDQwKSBhdXRvIHJlbS1jYWxjKDE1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjI1cywgZWFzZS1vdXQsIC4xNXMpO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NCk7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgJi5jdXN0b20tYnV0dG9uIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ0KSAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGxzO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBsaS5jdXN0b20tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRzdGFjaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMzIpICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkuY3VzdG9tLWJ1dHRvbi50b3AtYmFyLW15LWNhcnQge1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cblxuICAgICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgICB9XG5cbiAgICAgIHNwYW4uY2FydC1jb250ZW50cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW46IDAgMCAwIHJlbS1jYWxjKDUpO1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaS5tZW51LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmFsdC1uYXYtbXktY2FydCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSkgYXV0byByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg3KSByZW0tY2FsYygxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgfVxuXG4gICAgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW46IDAgMCAwIHJlbS1jYWxjKDUpO1xuICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAuNzVzLCBlYXNlLW91dCk7XG5cbiAgICAmPnVsLm1lbnUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIG1hcmdpbjogMTB2dyBhdXRvIDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgMXMsIGVhc2Utb3V0LCAuNDBzKTtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgIG1hcmdpbjogNXZ3IGF1dG8gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvIHJlbS1jYWxjKDE1KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgMXMsIGVhc2Utb3V0LCAuNjVzKTtcbiAgICB9XG5cbiAgICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDFzLCBlYXNlLW91dCwgLjkwcyk7XG4gICAgfVxuICB9XG59IiwiLy8gYm9keS50b3BiYXIgaGVhZGVyI21hc3RoZWFkIC50b3AtYmFyIG5hdiNtb2JpbGUtbWVudSAubWVudSA+IGxpID4gYSB7XG4vLyAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSAwICFpbXBvcnRhbnQ7XG4vLyB9XG5ib2R5LnRvcGJhciBoZWFkZXIjbWFzdGhlYWQgLnRvcC1iYXIgbmF2I21vYmlsZS1tZW51Lm1vYmlsZS1tZW51LnZlcnRpY2FsLm1lbnUge1xuXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MC4zOCk7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG4gICYgPiB1bC5tZW51IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIHVsLm1lbnUuYWx0LW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMTAgIWltcG9ydGFudDtcblxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAmIC5tZW51Om5vdCgubmVzdGVkKSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExKSAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAmIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAmID4gbGkgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG4gICYgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEsXG4gIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSBhIHtcbiAgICBjb2xvcjogJHJlZDtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuICB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICBhLCBpLCBzcGFuW2NsYXNzKj1cImZhLVwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIGxpLmlubGluZS1zb2NpYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgICBsaTpub3QoLmN1c3RvbS1idXR0b24pOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLW91dDtcbiAgICB9XG4gICAgbGkuaW5saW5lLXNvY2lhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbGkubWVudS1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBsaS5jdXN0b20tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250c3RhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbGkuY3VzdG9tLWJ1dHRvbi50b3AtYmFyLW15LWNhcnQsXG4gICAgbGkuY3VzdG9tLWJ1dHRvbi5hbHQtbmF2LW15LWNhcnQge1xuXG4gICAgICBpLCBzcGFuW2NsYXNzKj1cImZhLVwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgICB9XG4gICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCByZW0tY2FsYyg1KTtcbiAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuICAgIGxpIGEsIGxpIGEgaSwgbGkgYSBzcGFuW2NsYXNzKj1cImZhLVwiXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICBsaSBhIHNwYW5bY2xhc3MqPVwiZmEtXCJdIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgbGkuY3VzdG9tLWJ1dHRvbiBhIHtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgfVxuICAuYWx0LW5hdi1teS1jYXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBhIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250c3RhY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoNykgMCByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg4KSByZW0tY2FsYygxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaSwgc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICB9XG4gICAgc3Bhbi5jYXJ0LWNvbnRlbnRzIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW46IDAgMCAwIHJlbS1jYWxjKDUpO1xuICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIGZvcm0jc2VhcmNoZm9ybSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1cmVtKSB7IC8vIGZvciBzY3JlZW4gc2l6ZXMgbGFyZ2VyIHRoYW4gNjQwcHggd2lkZSBvbmx5XG4gICNtYXN0aGVhZCB7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgfVxuICAvLyBIZWFkZXIgT3B0aW9uIE9uZVxuICBib2R5LnN0aWNreS1wcmVwICNtYXN0aGVhZC5zdGlja3ktaGVhZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuICBib2R5LmFkbWluLWJhci5zdGlja3ktcHJlcCAjbWFzdGhlYWQuc3RpY2t5LWhlYWRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuICBib2R5LnN0aWNreS1oZWFkZXIuc3RpY2t5LXByZXAgI21hc3RoZWFkLnN0aWNreS1oZWFkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMsIG9wYWNpdHkgMXM7XG4gIH1cbiAgYm9keS5hZG1pbi1iYXIuc3RpY2t5LWhlYWRlci5zdGlja3ktcHJlcCAjbWFzdGhlYWQuc3RpY2t5LWhlYWRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzLCBvcGFjaXR5IDFzO1xuICB9XG59XG4iLCIudG9wLWJhciB7XG5cbiAgLnRvcC1iYXItc29jaWFsIHtcblxuICAgIGxpLmN1c3RvbS1idXR0b24ge1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICBsaS5jdXN0b20tYnV0dG9uLnRvcC1iYXItbXktY2FydCB7XG5cbiAgICAgIGksIHNwYW5bY2xhc3MqPSdmYS0nXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgICB9XG4gICAgICBzcGFuLmNhcnQtY29udGVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW46IDAgMCAwIHJlbS1jYWxjKDUpO1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuXG4gICAgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5ob21lLWhlcm8td3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8vIGhlaWdodDogNTB2dztcbiAgLy8gbWF4LWhlaWdodDogcmVtLWNhbGMoMTAwMCk7XG4gIC8vIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDcwMCk7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLCByZ2JhKDExOCwgMTkyLCAyMzIsIC40OSkgNTAlLCByZ2JhKDM0LCAxMTQsIDE4MCwgLjczKSAxMDAlKTtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAuODU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICB9XG5cbiAgLmhvbWUtaGVyby1jYXB0aW9uIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDI0KTtcbiAgICBwYWRkaW5nOiA1dncgcmVtLWNhbGMoMjUpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaDIge1xuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZShyZW0tY2FsYygzMiksIHJlbS1jYWxjKDU1KSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZShyZW0tY2FsYygxOCksIHJlbS1jYWxjKDI0KSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJzLWJ0biB7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHllbGxvdztcbiAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaG9tZSAubWFpbi13cmFwLmZ1bGwtd2lkdGgge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIC5lbnRyeS1jb250ZW50IHtcblxuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmbHVpZC10eXBlKHJlbS1jYWxjKDMyKSxyZW0tY2FsYyg1NSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgLmhvbWUgLm1haW4td3JhcCAubWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubWFpbi13cmFwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCIuYnJlYWRjcnVtYnMtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xuXG4gICNicmVhZGNydW1icyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDE2KSAwO1xuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnRzdGFjayAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cbiAgICBsaS5zZXBhcmF0b3Ige1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cbn1cbiIsImgxLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAkbWFpbnRpdGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgIGZvbnQtc2l6ZTogJG1haW50aXRsZTEwMjQ7XG4gIH1cbn1cblxuLmZlYXR1cmVkLWhlcm8tdGl0bGUtYmFyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDExNCwgMTgwLCAwLjg2KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NikgMCUsIHJnYmEoMzQsIDExNCwgMTgwLCAwLjg2KSAxMDAlKTtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwLjkzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIGgxLmVudHJ5LXRpdGxlIHtcbiAgICBjb2xvcjogJGRhcmtibHVlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygyNSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIC8vIHRleHQtc2hhZG93OiAwIHJlbS1jYWxjKDIpIHJlbS1jYWxjKDEpICRibGFjaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICAmICsgcC5zZWFyY2gtcXVlcnkge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygyNSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgdGltZSxcbiAgcC5ieWxpbmUuYXV0aG9yLFxuICBwLmJzLXBvc3QtZGF0ZSxcbiAgcC5icy1wb3N0LWNhdHMsXG4gIHAuYnMtcG9zdC1jb21tZW50cyxcbiAgcC5zZWFyY2gtcXVlcnksXG4gIHVsIGxpLFxuICBzcGFuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCByZW0tY2FsYygyKSByZW0tY2FsYygxKSAkYmxhY2s7XG4gICAgei1pbmRleDogMTA7XG4gIH1cblxuICB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMCAwIHJlbS1jYWxjKDEyKTtcbiAgICB9XG4gIH1cblxuICAuYnMtZW50cnktbWV0YSB7XG5cbiAgICBwIHtcblxuICAgICAgaSxcbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwLmJzLXBvc3QtZGF0ZSB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICBwLmJ5bGluZS5hdXRob3Ige1xuICAgICAgb3JkZXI6IDI7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAuYnMtcG9zdC1jYXRzIHtcbiAgICAgIG9yZGVyOiAzO1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwLmJzLXBvc3QtY29tbWVudHMge1xuICAgICAgb3JkZXI6IDQ7XG4gICAgfVxuICB9XG59IiwiLm1haW4td3JhcC5mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjUpICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsImZvb3RlciB7XG5cbiAgJi5wb3J0Zm9saW8tbmF2aWdhdGlvbiB7XG5cbiAgICBuYXYubmF2aWdhdGlvbi5wb3N0LW5hdmlnYXRpb24ge1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygyNSk7XG4gICAgfVxuICB9XG4gIG5hdi5uYXZpZ2F0aW9uLnBvc3QtbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLy8gbWF4LXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiAgfVxufVxuIiwiYXNpZGUuc2lkZWJhciB7XG4gIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgLy8gQG1lZGlhICN7JGJyZWFrOTUxfSB7XG4gIC8vICAgd2lkdGg6IDEyLjVyZW0gIWltcG9ydGFudDtcbiAgLy8gfVxuICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDtcbiAgfVxuICAmLnBvcnRmb2xpby1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAud2lkZ2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBoNiB7XG4gICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygyKSBzb2xpZCAkYmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgICAmID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgICAgJiA+IGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGkucmVjZW50Y29tbWVudHMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBzcGFuLmNvbW1lbnQtYXV0aG9yLWxpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgfVxuICAgIGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQpO1xuICAgIH1cbiAgfVxufVxuIiwiLmJzLXNvY2lhbC1zaGFyZS1vdXRlciB7XG4gIG1hcmdpbjogcmVtLWNhbGMoMzApIGF1dG8gMDtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MzApO1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDE1KTtcbn1cbi5icy1zb2NpYWwtc2hhcmUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG8gcmVtLWNhbGMoMzApOztcbiAgd2lkdGg6IGF1dG87XG5cbiAgLmJzLXNvY2lhbC1zaGFyZS1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE2KTtcbiAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtNCk7XG4gICAgfVxuXG4gICAgLnNpbmdsZS1zb2NpYWwtc2hhcmUge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFyZW0pO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMC4yNXJlbSk7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgYSBzcGFuW2NsYXNzKj1mYS1dIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgfVxuICAgICAgJi5zb2NpYWwtc2hhcmUtdHdpdHRlciB7XG5cbiAgICAgICAgYSBzcGFuW2NsYXNzKj1mYS1dIHtcbiAgICAgICAgICBjb2xvcjogJHR3aXR0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc29jaWFsLXNoYXJlLWZhY2Vib29rIHtcblxuICAgICAgICBhIHNwYW5bY2xhc3MqPWZhLV0ge1xuICAgICAgICAgIGNvbG9yOiAkZmFjZWJvb2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc29jaWFsLXNoYXJlLWdvb2dsZSB7XG5cbiAgICAgICAgYSBzcGFuW2NsYXNzKj1mYS1dIHtcbiAgICAgICAgICBjb2xvcjogJGdvb2dsZXBsdXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc29jaWFsLXNoYXJlLWxpbmtlZGluIHtcblxuICAgICAgICBhIHNwYW5bY2xhc3MqPWZhLV0ge1xuICAgICAgICAgIGNvbG9yOiAkbGlua2VkaW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc29jaWFsLXNoYXJlLXBpbnRlcmVzdCB7XG5cbiAgICAgICAgYSBzcGFuW2NsYXNzKj1mYS1dIHtcbiAgICAgICAgICBjb2xvcjogJHBpbnRlcmVzdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgICAgYSBzcGFuW2NsYXNzKj1mYS1dIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnNob3ctY291bnQge1xuXG4gICAgICAuc2luZ2xlLXNvY2lhbC1zaGFyZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgICAgICAgfVxuICAgICAgICBhIHNwYW5bY2xhc3MqPWZhLV0ge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgJi5zb2NpYWwtc2hhcmUtdHdpdHRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHR3aXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJi5zb2NpYWwtc2hhcmUtZmFjZWJvb2sge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRmYWNlYm9vaztcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICYuc29jaWFsLXNoYXJlLWdvb2dsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdvb2dsZXBsdXM7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAmLnNvY2lhbC1zaGFyZS1saW5rZWRpbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGxpbmtlZGluO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgJi5zb2NpYWwtc2hhcmUtcGludGVyZXN0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGludGVyZXN0O1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbjpub3QoLmZhYik6bm90KC5mYSk6bm90KC5mYXMpOm5vdCguZmFsKTpub3QoLmZhcikge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAvL2JvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzKTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBhIHNwYW5bY2xhc3MqPWZhLV0ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmdhbGxlcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XG5cbiAgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmdhbGxlcnktaWNvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWVhbHBoYTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0KSByZW0tY2FsYygxMCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgIC5nYWxsZXJ5LWljb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBhIHtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmdhbGxlcnktY29sdW1ucy00IHtcblxuICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IDI1JTtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRicmVhazQ4MH0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmdhbGxlcnktY29sdW1ucy0zIHtcblxuICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuXG4gICAgICBAbWVkaWEgI3skYnJlYWs0ODB9IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5nYWxsZXJ5LWNvbHVtbnMtMiB7XG5cbiAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG4gIGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5nYWxsZXJ5LWljb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWVhbHBoYTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0KSByZW0tY2FsYygxMCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsInVsLnBhZ2luYXRpb24ge1xuICBib3JkZXItdG9wOiByZW0tY2FsYygyKSBzb2xpZCAkYmx1ZTtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSAjeyRicmVhazgwMH0ge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gIH1cbiAgbGksIGxpIHNwYW4sIGxpIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICB9XG4gIGxpIHNwYW4uY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgbGkgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluLWNvbnRlbnQ+LmVudHJ5LWNvbnRlbnQ+Lmdmb3JtX3dyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5nZm9ybV93cmFwcGVyIHtcblxuICBmb3JtIHtcblxuICAgIC5nZm9ybV9ib2R5IHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDFyZW0pO1xuICAgICAgfVxuXG4gICAgICBsaS5nZmllbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG5cbiAgICAgICAgLy8gJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8vICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgLy8gfVxuICAgICAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSxcbiAgICAgICAgc2VsZWN0LFxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGx0Ymx1ZTtcbiAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRsdGJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm94LXNoYWRvdzogJGJveHNoYWRvdy0tbGFyZ2UgIWltcG9ydGFudDtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkbHRibHVlYWxwaGEyO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBmbHVpZC10eXBlKHJlbS1jYWxjKDE2KSxyZW0tY2FsYygyMCkpO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDY2KTtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdpbnB1dF9jb21wbGV4IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE2KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDFyZW0pICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAuZ2lucHV0X2Z1bGwsXG4gICAgICAgICAgLmdpbnB1dF9sZWZ0LFxuICAgICAgICAgIC5naW5wdXRfcmlnaHQsXG4gICAgICAgICAgLm5hbWVfZmlyc3QsXG4gICAgICAgICAgLm5hbWVfbGFzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgJitsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbG1vc3RibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIHJlbS1jYWxjKDEpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDEuMTI1cmVtKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaGFzLWxhYmVsLWJlbG93IHtcblxuICAgICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZ2lucHV0X2Z1bGwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmdpbnB1dF9sZWZ0LFxuICAgICAgICAgIC5naW5wdXRfcmlnaHQsXG4gICAgICAgICAgLm5hbWVfZmlyc3QsXG4gICAgICAgICAgLm5hbWVfbGFzdCB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzX2xhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KSByZW0tY2FsYygxNikgMCByZW0tY2FsYygxNik7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTYpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0KSByZW0tY2FsYygxNikgcmVtLWNhbGMoNSkgMDtcbiAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAgIC5naW5wdXRfZnVsbCxcbiAgICAgICAgICAuZ2lucHV0X2xlZnQsXG4gICAgICAgICAgLmdpbnB1dF9yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCByZW0tY2FsYygxNikgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSkgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAmK2xhYmVsIHtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5naW5wdXRfbGVmdC5hZGRyZXNzX3ppcCB7fVxuXG4gICAgICAgICAgLmdpbnB1dF9yaWdodCsuZ2lucHV0X2xlZnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZmxvYXRMYWJlbCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRzdGFjaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUocmVtLWNhbGMoMTYpLCByZW0tY2FsYygxOCkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHM7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJltkYXRhLWF0dHI9XCJhY3RpdmVcIl0ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDMwKSAwIDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGlucHV0Lmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3Ige1xuXG4gIGZvcm0ge1xuXG4gICAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnRzdGFjaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgIC5nZm9ybV9ib2R5IHtcblxuICAgICAgdWwuZ2Zvcm1fZmllbGRzIHtcblxuICAgICAgICBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg1KTtcblxuICAgICAgICAgIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvLyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmdmaWVsZF9kZXNjcmlwdGlvbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmdpbnB1dF9jb21wbGV4IHtcblxuICAgICAgICAgICAgLmdpbnB1dF9sZWZ0LFxuICAgICAgICAgICAgLmdpbnB1dF9yaWdodCB7XG5cbiAgICAgICAgICAgICAgaW5wdXQrbGFiZWwge1xuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImJvZHkuc2VhcmNoLXJlc3VsdHMge1xuXG4gIHNlY3Rpb24jbWFpbi1jb250YWluZXIge1xuXG4gICAgZGl2Lm1haW4td3JhcCB7XG5cbiAgICAgIGFydGljbGUubWFpbi1jb250ZW50IHtcblxuICAgICAgICBzZWN0aW9uLmJzLWJsb2ctbG9vcCB7XG5cbiAgICAgICAgICBhcnRpY2xlLnR5cGUtcGFnZS5wYWdlIHtcblxuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQge1xuXG4gICAgICAgICAgICAgIC5ibG9nLW1ldGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmJzLXBvc3QtZXhjZXJwdCB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250c3RhY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5icy1ibG9nLWxvb3Age1xuXG4gIC5icy1wb3N0LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICBoMyB7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ibG9nLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgaSwgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjQpO1xuICAgICAgfVxuICAgICAgJi5icy1wb3N0LWRhdGUge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgICYuYnMtcG9zdC1ieWxpbmUge1xuICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICBzcGFuLmF2YXRhciB7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmJzLXBvc3QtY2F0cyB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgfVxuICAgICAgJi5icy1wb3N0LWNvbW1lbnRzIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ibG9nLWZvb3RlciB7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbiAgJi5icy1ibG9nLWxvb3AtbGlzdCB7XG5cbiAgICBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgaHIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5ibG9nLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgICAgICBAbWVkaWEgI3skYnJlYWs2NDB9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4Ljc1cmVtKTtcbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJsb2ctZm9vdGVyIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYnMtYmxvZy1sb29wLWxpc3QtbGFyZ2Uge1xuXG4gICAgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcblxuICAgICAgICBociB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmJzLWJsb2ctbG9vcC1ncmlkLFxuICAmLmJzLWJsb2ctbG9vcC1jYXJvdXNlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoLTQ1KSAhaW1wb3J0YW50O1xuXG4gICAgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NSk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3gtc2hhZG93KTtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICB9XG5cbiAgICAgIC5ibG9nLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJGJsdWU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgZmlndXJlLCBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJsb2ctbWV0YSB7XG5cbiAgICAgICAgLmJzLWVudHJ5LW1ldGEge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2UxZTFlMTtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkYmx1ZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgfVxuICAgICAgLmJzLXBvc3QtZXhjZXJwdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgIC5ibG9nLWZvb3RlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC0xNSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xNSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjg3NXJlbSk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuXG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIC8vIGJveC1zaGFkb3c6IDAgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDYwKSByZ2JhKDAsMCw4MCwuNDUpO1xuXG4gICAgICAgIC5ibG9nLWZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICAgIGZpZ3VyZSwgYSB7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZ3JpZC0yLWNvbHMge1xuXG4gICAgICBhcnRpY2xlLmJzLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5ncmlkLTMtY29scyB7XG5cbiAgICAgIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzJSAtIDEuODc1cmVtKTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmdyaWQtNC1jb2xzIHtcblxuICAgICAgYXJ0aWNsZS5icy1zaW5nbGUtcG9zdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbmF2LmN1c3RvbS1wYWdpbmF0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgfVxuICB9XG4gICYuYnMtYmxvZy1sb29wLWNhcm91c2VsIHtcblxuICAgIGFydGljbGUuYnMtc2luZ2xlLXBvc3Qge1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgdWwuc2xpY2stZG90cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTMwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICB6LWluZGV4OiA5OTtcblxuICAgICAgbGk6b25seS1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIG5hdi5jdXN0b20tcGFnaW5hdGlvbiB7XG4gICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMikgc29saWQgJGJsdWU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhICN7JGJyZWFrODAwfSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICAucGFnZS1udW1iZXJzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICBzcGFuLnBhZ2UtbnVtYmVycy5wYWdlLW51bSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIHNwYW4ucGlwZS1zZXBhcmF0b3Ige1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNyk7XG4gICAgfVxuICAgIHNwYW4ucGFnZS1udW1iZXJzLmN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYS5wYWdlLW51bWJlcnMge1xuICAgICAgLy8gYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIC8vIGNvbG9yOiB3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2luZ2xlLXBvc3QsIC5ibG9nLCAuc2VhcmNoLXJlc3VsdHMsIC5zaW5nbGUtc2VydmljZSwgLmFyY2hpdmUsIC50YWcsIC5zaW5nbGUtc3RhZmYge1xuXG4gIC5tYWluLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblxuICAgIC5tYWluLWNvbnRlbnQge1xuXG4gICAgICAuYnMtZW50cnktbWV0YSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoMikgc29saWQgJGJsdWU7XG4gICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwKSAwIDA7XG4gICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxMCkgMCAwO1xuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5uby1zaWRlYmFyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgYXJ0aWNsZS5tYWluLWNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMjQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5ibG9nLXNpZGViYXItbGVmdCwgJi5zaW5nbGUtc2lkZWJhci1sZWZ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cbiAgICAgIGFzaWRlLnNpZGViYXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5ibG9nLWZ1bGwtd2lkdGgubm8tc2lkZWJhciwgJi5zaW5nbGUtZnVsbC13aWR0aC5uby1zaWRlYmFyIHtcblxuICAgICAgYXJ0aWNsZS5tYWluLWNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5hYm91dC10aGUtYXV0aG9yLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiByZW0tY2FsYygzMikgMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgICAuYXV0aG9yLWltYWdlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg4MCk7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5hdXRob3ItZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUuNjI1cmVtKTtcblxuICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgcCBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDExNSU7XG4gICAgICB9XG4gICAgICAmLm5vLWF2YXRhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmJsb2ctZmVhdHVyZWQtaW1hZ2Uge1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwic2VjdGlvbiNjb21tZW50cyB7XG4gIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gIG1hcmdpbjogcmVtLWNhbGMoMzIpIDAgMCAwO1xuICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgb2wuY29tbWVudC1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcblxuICAgICYgPiBsaSB7XG4gICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMikgc29saWQgJGJsdWU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgaGVhZGVyLmNvbW1lbnQtYXV0aG9yIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICB0aW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cbiAgICAgIGNpdGUge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdWwuY2hpbGRyZW4ge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTUpIDAgMCAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygyKSBzb2xpZCAkYmx1ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhLmNvbW1lbnQtcmVwbHktbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gIH1cbn1cbnNlY3Rpb24jcmVzcG9uZCB7XG4gIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gIG1hcmdpbjogcmVtLWNhbGMoMzIpIDAgMCAwO1xuICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBmb3JtI2NvbW1lbnRmb3JtIHtcblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCB0ZXh0YXJlYSB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgIH1cbiAgICBpbnB1dC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG59XG4iLCIuYnMtYWpheC1ibG9nLWxvb3Age1xuXG4gIC5icy1hamF4LWJsb2ctbG9vcC13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvLyBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcblxuICAgIC5icy1hamF4LWJsb2ctbG9vcC1sZWZ0IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIC8vIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgQG1lZGlhICN7JGJyZWFrODAwfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICB1bC5icy1hamF4LWJsb2ctaW1hZ2VzIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAvLyB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIH1cbiAgICAgICAgJi5ncmlkLTItY29scyB7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogNTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmdyaWQtMy1jb2xzIHtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5ncmlkLTQtY29scyB7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogMjUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2xpY2stc2xpZGUsIC5zbGljay10cmFjayB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbi5zbGljay1hcnJvdyB7XG4gICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMjApO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLnNsaWNrLW5leHQge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJzLWFqYXgtYmxvZy1sb29wLXJpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NiUgLSAxLjg3NXJlbSk7XG5cbiAgICAgIEBtZWRpYSAjeyRicmVhazgwMH0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYubG9hZGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgICB9XG4gICAgICAmLmxvYWRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgIC5icy1hamF4LXN3YXAtYXJlYS5hamF4LWxvYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgaW1nLmxvYWRpbmctYW5pbWF0aW9uIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cbiAgICAgIC5icy1wb3N0LWZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJzLXBvc3QtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgaDMge1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnMtcG9zdC1tZXRhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIGksIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYnMtcG9zdC1kYXRlIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmJzLXBvc3QtYnlsaW5lIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgICAgICBzcGFuLmF2YXRhciB7XG5cbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmJzLXBvc3QtY2F0cyB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5icy1wb3N0LWNvbW1lbnRzIHtcbiAgICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJzLXBvc3QtZm9vdGVyIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIFNpbmdsZSBTZXJ2aWNlIEl0ZW0gU3R5bGVzICovXG4uc2luZ2xlLXNlcnZpY2Uge1xuXG4gIC5zZXJ2aWNlLWZlYXR1cmVkLWltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMzMCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1haW4td3JhcCB7XG5cbiAgICAubWFpbi1jb250ZW50IHtcblxuICAgICAgdWwuc2VydmljZS1jYXRlZ29yeSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDMyKSAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICB9XG4gICAgICAgIGxpLmNhdC1uYW1lIHtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBTZXJ2aWNlcyBTaG9ydGNvZGUgU3R5bGVzICovXG4uc2VydmljZXMtd3JhcHBlciB7XG5cbiAgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0ge1xuXG4gICAgLnNlcnZpY2UtdGh1bWJuYWlsIHtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAuc2VydmljZS10aHVtYm5haWwge1xuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2VydmljZXMtZGlzcGxheS1ncmlkIHtcblxuICAgICYuZ3JpZC1jb2xzLTEge1xuXG4gICAgICAuc2luZ2xlLXNlcnZpY2UtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmdyaWQtY29scy0yIHtcblxuICAgICAgLnNpbmdsZS1zZXJ2aWNlLWl0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazQwMH0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZ3JpZC1jb2xzLTMge1xuXG4gICAgICAuc2luZ2xlLXNlcnZpY2UtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazQwMH0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZ3JpZC1jb2xzLTQge1xuXG4gICAgICAuc2luZ2xlLXNlcnZpY2UtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNDAwfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zZXJ2aWNlcy1kaXNwbGF5LWdyaWQge1xuXG4gICAgLnNlcnZpY2VzLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoLTE1KSByZW0tY2FsYygtMTUpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQpO1xuXG4gICAgICAuc2luZ2xlLXNlcnZpY2UtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIHNlY3Rpb24uc2VydmljZS1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNDUpO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBoNC5zZXJ2aWNlLXRpdGxlIHtcbiAgICAgICAgICAgIC8vYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIHJlbS1jYWxjKDIpIDAgJGJsYWNrO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdWwuc2VydmljZS1jYXRlZ29yeSB7XG4gICAgICAgICAgICAvL2JvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgYm90dG9tOiA1MCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCByZW0tY2FsYygyKSAwICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nLnNlcnZpY2UtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoNC5zZXJ2aWNlLXRpdGxlIHtcbiAgICAgICAgICAgICAgLy9ib3R0b206IGF1dG87XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIC8vdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bC5zZXJ2aWNlLWNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgLy9ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgLy90b3A6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2VydmljZXMtZGlzcGxheS1saXN0IHtcblxuICAgIC5zaW5nbGUtc2VydmljZS1pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICAuc2VydmljZS10aHVtYm5haWwge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNlcnZpY2UtY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC43NXJlbSk7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICB1bC5zZXJ2aWNlLWNhdGVnb3J5IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygxMCkgMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpLmNhdC1uYW1lIHtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBTaW5nbGUgU3RhZmYgSXRlbSBTdHlsZXMgKi9cbi5zaW5nbGUtc3RhZmYge1xuXG4gIC5tYWluLWNvbnRlbnQge1xuXG4gICAgLnN0YWZmLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMzApO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHVsLnN0YWZmLWNhdGVnb3J5IHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygxNSkgMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0KTtcblxuICAgICAgICAmLmNhdC1uYW1lIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgfVxuICAgICAgICAmLmNhdC1uYW1lOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgIH1cbiAgICAgICAgJi5jYXQtbmFtZTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogU3RhZmYgU2hvcnRjb2RlIFN0eWxlcyAqL1xuLnN0YWZmcy13cmFwcGVyIHtcblxuICAuc3RhZmYtZmlsdGVyLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG5cbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgdWwjZmlsdGVycywgdWxbaWQqPVwiZmlsdGVycy1cIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygyMCkgcmVtLWNhbGMoLTE1KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMjApIDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG5cbiAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2KSByZW0tY2FsYygxNSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICYuYWN0aXZlLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG5cbiAgICAuc3RhZmYtdGh1bWJuYWlsIHtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAuc3RhZmYtdGh1bWJuYWlsIHtcblxuICAgICAgICBhIHtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnN0YWZmcy1kaXNwbGF5LWdyaWQge1xuXG4gICAgJi5ncmlkLWNvbHMtMSB7XG5cbiAgICAgIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmdyaWQtY29scy0yIHtcblxuICAgICAgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICBAbWVkaWEgI3skYnJlYWs0MDB9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmdyaWQtY29scy0zIHtcblxuICAgICAgLnNpbmdsZS1zdGFmZi1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuXG4gICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNDAwfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5ncmlkLWNvbHMtNCB7XG5cbiAgICAgIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNDAwfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zdGFmZnMtZGlzcGxheS1ncmlkIHtcblxuICAgIC5zdGFmZnMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDAgMCByZW0tY2FsYygtMTUpIHJlbS1jYWxjKC0xNSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCk7XG5cbiAgICAgIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIHNlY3Rpb24uc3RhZmYtY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjQ1KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDQuc3RhZmYtdGl0bGUge1xuICAgICAgICAgICAgLy9ib3R0b206IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgcmVtLWNhbGMoMikgMCAkYmxhY2s7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwLnN0YWZmLXBvc2l0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHVsLnN0YWZmLWNhdGVnb3J5IHtcbiAgICAgICAgICAgIC8vYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIHJlbS1jYWxjKDIpIDAgJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcuc3RhZmYtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoNC5zdGFmZi10aXRsZSB7XG4gICAgICAgICAgICAgIC8vYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAvL3RvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwuc3RhZmYtY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAvL2JvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAvL3RvcDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zdGFmZnMtZGlzcGxheS1saXN0IHtcblxuICAgIC5zaW5nbGUtc3RhZmYtaXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgLnN0YWZmLXRodW1ibmFpbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjQwfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc3RhZmYtY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC43NXJlbSk7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazY0MH0ge1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBwLnN0YWZmLW1ldGEge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICBpLCBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwuc3RhZmYtY2F0ZWdvcnkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDEwKSAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpLmNhdC1uYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnN0YWZmLXJlYWQtbW9yZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmVycm9yNDA0IHtcblxuICAubWFpbi13cmFwLm5vLXNpZGViYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBhcnRpY2xlLm1haW4tY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgwMCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIE1TIEVkZ2UgT25seSBDU1MgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuXHRoZWFkZXIjbWFzdGhlYWQgbmF2LnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIHVsLmRlc2t0b3AtbWVudT5saS5pcy1hY3RpdmU6Zm9jdXMgdWwuc3VibWVudS5kcm9wZG93bixcbiAgaGVhZGVyI21hc3RoZWFkIG5hdi5zaXRlLW5hdmlnYXRpb24udG9wLWJhciB1bC5kZXNrdG9wLW1lbnU+bGkuaXMtYWN0aXZlOmhvdmVyIHVsLnN1Ym1lbnUuZHJvcGRvd24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdHotaW5kZXg6IDEwO1xuXHR9XG59XG5cbi8qIElFMTAvMTEgT25seSBDU1MgKi9cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgaGVhZGVyI21hc3RoZWFkICNoZWFkZXItaW5uZXIgLnRvcC1iYXIgdWwuZGVza3RvcC1tZW51ID4gbGkubWVudS1pdGVtID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblx0aGVhZGVyI21hc3RoZWFkIG5hdi5zaXRlLW5hdmlnYXRpb24udG9wLWJhciB1bC5kZXNrdG9wLW1lbnUgPiBsaS5tZW51LWl0ZW0uaXMtYWN0aXZlOmZvY3VzIHVsLnN1Ym1lbnUuZHJvcGRvd24sXG4gIGhlYWRlciNtYXN0aGVhZCBuYXYuc2l0ZS1uYXZpZ2F0aW9uLnRvcC1iYXIgdWwuZGVza3RvcC1tZW51ID4gbGkubWVudS1pdGVtLmlzLWFjdGl2ZTpob3ZlciB1bC5zdWJtZW51LmRyb3Bkb3duIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR6LWluZGV4OiAxMDtcblx0fVxuXHRoZWFkZXIjbWFzdGhlYWQgbmF2LnNpdGUtbmF2aWdhdGlvbi50b3AtYmFyIHVsLmRlc2t0b3AtbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuc3VibWVudS5kcm9wZG93bjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgc2VsZWN0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgdGV4dGFyZWEgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCBpbnB1dCArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IHNlbGVjdCArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IHRleHRhcmVhICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IGlucHV0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IHNlbGVjdCArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCB0ZXh0YXJlYSArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QgaW5wdXQgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0IHNlbGVjdCArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IGxpLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLm5hbWVfZmlyc3QgdGV4dGFyZWEgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3QgaW5wdXQgKyBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBsaS5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3Qgc2VsZWN0ICsgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgbGkuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCAubmFtZV9sYXN0IHRleHRhcmVhICsgbGFiZWwge1xuXHRcdGxlZnQ6IHJlbS1jYWxjKDE1KTtcblx0fVxuXHRoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLXJpZ2h0LFxuICBoZWFkZXIjbWFzdGhlYWQgbmF2LnRvcC1iYXIuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWJvdHRvbSB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cdGhlYWRlciNtYXN0aGVhZCBuYXYudG9wLWJhci5zaXRlLW5hdmlnYXRpb24gdWwuZGVza3RvcC1tZW51ID4gbGkgPiBhIHtcblx0XHRmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcblx0XHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5cdH1cblx0aGVhZGVyI21hc3RoZWFkIHtcblx0XHR6LWluZGV4OiAxMDAwO1xuXHR9XG59XG4iLCIvKiBTYWZhcmkgMTAuMCsgT25seSBTdHlsZXMgKi9cbiIsImh0bWwgZm9ybSNzZWFyY2hmb3JtIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6ICRib3hzaGFkb3c7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCkgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgaW5wdXQjczo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJGZvbnRzdGFjayAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAkbHMgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBpbnB1dCNzOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRscyAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcblxuICB9XG5cbiAgaW5wdXQjczotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRscyAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIGlucHV0I3M6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRscyAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiLCAnZm9udGF3ZXNvbWUnICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiByZW0tY2FsYyg1NCk7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGlucHV0I3Mge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgfVxuXG4gIGlucHV0I3NlYXJjaHN1Ym1pdCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLXdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbmh0bWwgLm1lbnUtc2VhcmNoLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZm9ybSNzZWFyY2hmb3JtIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIC8vIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB3aWR0aDogcmVtLWNhbGMoMzAwKSAhaW1wb3J0YW50O1xuXG4gICAgLy8gJjpiZWZvcmUge1xuICAgIC8vICAgcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAvLyAgIHRvcDogcmVtLWNhbGMoMTUpO1xuICAgIC8vIH1cbiAgfVxufVxuXG5odG1sIC5hYm92ZS1tZW51LXNlYXJjaC13cmFwcGVyIHtcblxuICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5odG1sIG5hdi5vZmYtY2FudmFzIHtcblxuICBmb3JtI3NlYXJjaGZvcm0ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgLy8gbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDgwKSAhaW1wb3J0YW50O1xuICB9XG59IiwiZGl2I2JzLXNpdGV3aWRlLXBvcHVwIHtcblxuICAuYnMtcG9wdXAtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuODUpO1xuICAgIGJvdHRvbTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gIH1cbiAgLmJzLXBvcHVwLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAkYmx1ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiByZW0tY2FsYyg2MDApO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuICAuYnMtcG9wdXAtY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDgwKTtcbiAgICB6LWluZGV4OiAxMDAxO1xuICB9XG4gIC5icy1wb3B1cC1oaWRlLWZvcmV2ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgJi5wb3B1cC1ib3R0b20tbGVmdCxcbiAgJi5wb3B1cC1ib3R0b20tcmlnaHQsXG4gICYucG9wdXAtYm90dG9tLWZ1bGwge1xuXG4gICAgLmJzLXBvcHVwLWlubmVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICB9XG4gIH1cbiAgJi5wb3B1cC1ib3R0b20tcmlnaHQge1xuXG4gICAgLmJzLXBvcHVwLWlubmVyIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbiAgJi5wb3B1cC1ib3R0b20tZnVsbCB7XG5cbiAgICAuYnMtcG9wdXAtaW5uZXIge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCJkaXYjaW5zdGFmZWVkIHtcblxuICAmLmhhcy1hcnJvd3Mge1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMzApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDFyZW0pO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDI0KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCk7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgfVxuICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBhLmluc3RhZ3JhbS1pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBzcGFuLmlnLWNhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWVhbHBoYTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG4gICAgc3BhbltjbGFzcyo9XCJmYS1cIl0ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgIHNwYW4uaWctY2FwdGlvbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zbGljay1saXN0LmRyYWdnYWJsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0yMCk7XG5cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgJi5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDtcbiAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5zbGljay1sb2FkaW5nICYge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBbZGlyPVwicnRsXCJdICYge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgZGlzcGxheTogbm9uZTtcbiAgJi5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIkaW5wdXQtbnVtYmVyLXNpemU6IDgwcHg7XG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5ib2R5Lndvb2NvbW1lcmNlLCBib2R5Lndvb2NvbW1lcmNlLXBhZ2UsIGRpdi53b29jb21tZXJjZSB7XG5cbiAgc3Bhbi5yZXF1aXJlZCB7XG4gICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcbiAgfVxuICAuc3Rhci1yYXRpbmcge1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRnb2xkO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBzdGFyICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRnb2xkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgZm9ybS53b29jb21tZXJjZS1vcmRlcmluZyB7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgfVxuICAuYnJlYWRjcnVtYnMtd3JhcHBlciB7XG5cbiAgICBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDFyZW0gMCAhaW1wb3J0YW50O1xuXG4gICAgICBzcGFuLnNlcGFyYXRvciB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udHN0YWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNob3AtbGF5b3V0LW5hcnJvdy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MzApO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS1zaG9wLXRpdGxlIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyNSkgcmVtLWNhbGMoMTUpIDA7XG4gICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyNCkgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgzMCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLm1haW4td3JhcCB7XG5cbiAgICAmLnNob3AtbGF5b3V0LXNpZGViYXItbGVmdCB7XG5cbiAgICAgIGFydGljbGUubWFpbi1jb250ZW50Lndvb2NvbW1lcmNlLWluZGV4IHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgICBhc2lkZS53b29jb21tZXJjZS1zaWRlYmFyLnNpZGViYXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5zaG9wLWxheW91dC1zaWRlYmFyLXJpZ2h0IHtcblxuICAgICAgYXJ0aWNsZS5tYWluLWNvbnRlbnQud29vY29tbWVyY2UtaW5kZXgge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgIGFzaWRlLndvb2NvbW1lcmNlLXNpZGViYXIuc2lkZWJhciB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNob3AtbGF5b3V0LWZ1bGwtd2lkdGgge1xuXG4gICAgICBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2hvcC1sYXlvdXQtbmFycm93LWNvbnRlbnQge1xuXG4gICAgICBhcnRpY2xlLm1haW4tY29udGVudC53b29jb21tZXJjZS1pbmRleCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYXNpZGUud29vY29tbWVyY2Utc2lkZWJhci5zaWRlYmFyIHtcblxuICB9XG4gIC53b29jb21tZXJjZS1pbmRleCBoMS5wYWdlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIGgyLndvb2NvbW1lcmNlLXBhZ2UtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmICsgcC53b29jb21tZXJjZS1yZXN1bHQtY291bnQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEwKTtcbiAgICB9XG4gIH1cbiAgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcblxuICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIyMCk7XG4gICAgfVxuICB9XG4gIHVsLnByb2R1Y3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICYgPiBsaS5wcm9kdWN0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAmLm91dG9mc3RvY2sge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGNvbnRlbnQ6ICdPdXQgb2Ygc3RvY2snO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoLTMyKTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSByZW0tY2FsYygzMik7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgbWFyay5jb3VudCB7XG4gICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJiA+IGEge1xuXG4gICAgICAgICYgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGJsdWU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgJiBpbWcge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgICB9XG4gICAgICAgIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCByZW0tY2FsYygxMCkgMDtcbiAgICAgICAgfVxuICAgICAgICBkaXYuc3Rhci1yYXRpbmcge1xuICAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5wcmljZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgIHNwYW4uYW1vdW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG5cbiAgICAgICAgJiA+IGEge1xuXG4gICAgICAgICAgJiBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHJvdGF0ZSgzZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5jb2x1bW5zLTIsXG4gICAgJi5jb2x1bW5zLTMsXG4gICAgJi5jb2x1bW5zLTQge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmID4gbGkucHJvZHVjdCB7XG4gICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDQ1KSAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuXG4gICAgICAgICYubGFzdCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNDUpIDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skYnJlYWs2MDB9IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGFzdCArIGxpLnByb2R1Y3QuZmlyc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg0NSkgMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICAgIGEud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICRyZWQ7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAwIHJlbS1jYWxjKDE1KSAwO1xuICAgICAgICB9XG4gICAgICAgIGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuLnByaWNlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICBkaXYuc3Rhci1yYXRpbmcge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5jb2x1bW5zLTIge1xuXG4gICAgICAmID4gbGkucHJvZHVjdCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5jb2x1bW5zLTQge1xuXG4gICAgICAmID4gbGkucHJvZHVjdCB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgIGNsZWFyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnByb2R1Y3QtdG9wLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQG1lZGlhICN7JGJyZWFrNzY4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIHNwYW4ub25zYWxlIHtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgZGl2Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBkaXYuc3VtbWFyeS5lbnRyeS1zdW1tYXJ5IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgc3Bhbi5vbnNhbGUge1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDgpIHJlbS1jYWxjKDEpIDAgMCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogYXV0bztcblxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogcmVtLWNhbGMoMTcpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEpO1xuICAgICAgbGVmdDogcmVtLWNhbGMoLTE3KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJsdWU7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJsdWU7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG4gIC5wcm9kdWN0LnNhbGUgc3Bhbi5vbnNhbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbGVmdDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICByaWdodDogYXV0bztcbiAgICB0b3A6IDA7XG5cbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKC0xNyk7XG4gICAgfVxuICB9XG4gIC5tYWluLXdyYXAgLmJ1dHRvbiwgLm1haW4td3JhcCAuYnV0dG9uLndjLWJhY2t3YXJkLCAuYnV0dG9uLCAuYnV0dG9uLndjLWJhY2t3YXJkLCAuY29tbWVudC1mb3JtIHAuZm9ybS1zdWJtaXQgaW5wdXQge1xuICAgIGJhY2tncm91bmQ6ICRyZWQgIWltcG9ydGFudDtcbiAgICAvLyBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICR3aGl0ZWFscGhhICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTAwKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJGZvbnRzdGFjaztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuYWRkX3RvX2NhcnRfYnV0dG9uLmFqYXhfYWRkX3RvX2NhcnQsXG4gIC5idXR0b24ucHJvZHVjdF90eXBlX3ZhcmlhYmxlIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoMik7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQyKTtcbiAgICB9XG4gICAgJi5hZGRlZDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAmICsgYS5hZGRlZF90b19jYXJ0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAubWFpbi13cmFwIHtcbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygwKTtcbiAgICB9XG5cbiAgICAubWFpbi1jb250ZW50IHtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIC8vIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLndvb2NvbW1lcmNlLWluZGV4IHtcbiAgICAgIEBtZWRpYSAjeyRicmVhazk1MX0ge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2LjI1cmVtKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5yZWxhdGVkLnByb2R1Y3RzIHtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgICAgIH1cbiAgICAgICAgdWwucHJvZHVjdHMge1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG5cbiAgICAgICAgICAgIGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgI3skYnJlYWs0MDB9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNhbGUge1xuXG4gICAgICAgICAgICAgIHNwYW4ub25zYWxlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYXNpZGUuc2lkZWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpO1xuICAgICAgQG1lZGlhICN7JGJyZWFrOTUxfSB7XG4gICAgICAgIHdpZHRoOiAxMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAud2lkZ2V0X3Byb2R1Y3RfY2F0ZWdvcmllcyB7XG5cbiAgICAgICAgaDYge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDIpIHNvbGlkICRibHVlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwN2EnO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bC5wcm9kdWN0LWNhdGVnb3JpZXMge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgJiA+IGxpLmNhdC1pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJiA+IGxpLmNhdC1pdGVtID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYgPiBsaS5jYXQtaXRlbSBpLmNsb3NlLWNhdC1saXN0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJiA+IGxpLmNhdC1pdGVtID4gaS50b2dnbGUtY2F0LWxpc3Qge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAgICAgICAmLmFuaW1hdGUtY2hldnJvbiB7XG4gICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC01KTtcbiAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmID4gbGkuY2F0LWl0ZW0gPiBpLnRvZ2dsZS1jYXQtbGlzdC5hbmltYXRlLWNoZXZyb24gfiBpLmNsb3NlLWNhdC1saXN0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIHVsLmNoaWxkcmVuIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDEpIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcbiAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcblxuICAgICAgICAgICAgJi5zaG93LWNhdHMge1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzVCNUI1QjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLmN1cnJlbnQtY2F0ID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAud29vY29tbWVyY2UtdGFicyB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjApICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApICFpbXBvcnRhbnQ7XG5cbiAgICB1bC50YWJzLndjLXRhYnMge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC0xKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGJsdWU7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMikgMCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCk7XG5cbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUsICYuYWN0aXZlOmhvdmVyLCAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbHRncmF5ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRsdGdyYXk7XG4gICAgICAgICAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGx0Z3JheTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIHJlbS1jYWxjKC0yKSByZW0tY2FsYyg3KSAjMDAxZTYxO1xuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyk7XG5cbiAgICAgICAgICAmLmFjdGl2ZSwgJi5hY3RpdmU6aG92ZXIsICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICRsdGdyYXk7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgLy8gYm9yZGVyLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuXG4gICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0Ym9keSB7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGx0Z3JheSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgaDIud29vY29tbWVyY2UtUmV2aWV3cy10aXRsZSwgaDIud29vY29tbWVyY2UtUmV2aWV3cy10aXRsZSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCkgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgfVxuICAgICAgLnJlbGF0ZWQucHJvZHVjdHMgdWxbY2xhc3MqPVwiY29sdW1ucy1cIl0gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNyZXZpZXdzIHtcblxuICAgICNjb21tZW50cyBvbC5jb21tZW50bGlzdCB7XG5cbiAgICAgIGxpLmNvbW1lbnQge1xuXG4gICAgICAgIC5jb21tZW50X2NvbnRhaW5lciB7XG5cbiAgICAgICAgICBpbWcuYXZhdGFyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jb21tZW50LXRleHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCByZW0tY2FsYyg0MCk7XG5cbiAgICAgICAgICAgIC5zdGFyLXJhdGluZyB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwLm1ldGEge1xuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAjcmV2aWV3X2Zvcm1fd3JhcHBlciB7XG5cbiAgICAgICNyZXBseS10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICBwLnN0YXJzIHtcbiAgICAgICAgY29sb3I6ICRnb2xkO1xuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvZHVjdF9tZXRhIHtcblxuICAgIHNwYW4uc2t1X3dyYXBwZXIgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBzcGFuLnBvc3RlZF9pbiBzdHJvbmcge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgZm9ybS5jYXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0NCk7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgfVxuICAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5LmltYWdlcyB7XG5cbiAgICAuZmxleC12aWV3cG9ydCB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRncmF5O1xuXG4gICAgICAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgY3Vyc29yOiBncmFiICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgLy8gICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIC8vICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIC8vICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIC8vICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLy8gICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAvLyAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgLy8gICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgLy8gICBvcGFjaXR5OiAuNTtcbiAgICAgIC8vICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIC8vICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLy8gICB0b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgIC8vICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgIC8vICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuICAgICAgLy8gfVxuICAgICAgLy8gJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAvL1xuICAgICAgLy8gICAmOmFmdGVyIHtcbiAgICAgIC8vICAgICBvcGFjaXR5OiAxO1xuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgfVxuICAgIG9sLmZsZXgtY29udHJvbC1uYXYuZmxleC1jb250cm9sLXRodW1icyB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTEwKTtcblxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICBpbWcge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnN1bW1hcnkuZW50cnktc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgaDIucHJvZHVjdF90aXRsZS5lbnRyeS10aXRsZSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDIpIHNvbGlkICRibHVlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCkgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICAgIC8vIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyB7XG4gICAgLy8gICBvcmRlcjogMjtcbiAgICAvLyB9XG4gICAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZGV0YWlsc19fc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICAgIHAucHJpY2Uge1xuICAgICAgb3JkZXI6IDQ7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIGZvcm0uY2FydCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3JkZXI6IDU7XG5cbiAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgIGlucHV0LmlucHV0LXRleHQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0X21ldGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMikgc29saWQgJGJsdWU7XG4gICAgICBib3JkZXItdG9wOiByZW0tY2FsYygyKSBzb2xpZCAkYmx1ZTtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCkgMCByZW0tY2FsYygxNSk7XG4gICAgICBvcmRlcjogMztcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSAwIHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cbiAgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24ge1xuXG4gICAgdWwucGFnZS1udW1iZXJzIHtcbiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMikgc29saWQgJGJsdWUgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygwKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgMCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgc3Bhbi5jdXJyZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICBhLnBhZ2UtbnVtYmVycyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG5cbiAgICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICBsaW5lLWhlaWdodDogY2FsYygjeyRpbnB1dC1udW1iZXItc2l6ZX0vMik7XG4gICAgfVxuICAgIC5pbnB1dC1udW1iZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDUwKTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuaW5wdXQtbnVtYmVyLFxuICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAgIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGJsdWU7XG4gICAgICBoZWlnaHQ6ICRpbnB1dC1udW1iZXItc2l6ZS8yO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICB9XG4gICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gICAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogQXJpYWwgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzNSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCk7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpIDAgMCByZW0tY2FsYygzKTtcbiAgICB9XG4gICAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCByZW0tY2FsYygzKSByZW0tY2FsYygzKSAwO1xuICAgIH1cbiAgfVxuICBmb3JtLndvb2NvbW1lcmNlLWNhcnQtZm9ybSB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgdGhlYWQge1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIHRyIHtcblxuICAgICAgICB0aC5wcm9kdWN0LW5hbWUge1xuXG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICB0aC5wcm9kdWN0LXByaWNlLFxuICAgICAgICB0aC5wcm9kdWN0LXF1YW50aXR5LFxuICAgICAgICB0aC5wcm9kdWN0LXN1YnRvdGFsIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGgucHJvZHVjdC1yZW1vdmUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGJvZHkge1xuXG4gICAgICB0ciB7XG4gICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICB0ZC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDM4JSAtIC41cmVtKTtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNzUpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0ZC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgLnF1YW50aXR5IHtcblxuICAgICAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0ZC5wcm9kdWN0LXN1YnRvdGFsIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGQucHJvZHVjdC1yZW1vdmUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDIpO1xuXG4gICAgICAgICAgYS5yZW1vdmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbnB1dC5pbnB1dC10ZXh0LnF0eS50ZXh0IHtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgICAucXVhbnRpdHkge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG5cbiAgICAgICAgLy8gQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIC8vICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAvLyB9XG4gICAgICB9XG4gICAgICAuY291cG9uIHtcblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbnB1dCNjb3Vwb25fY29kZSB7XG4gICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDEyMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b25bbmFtZT1cInVwZGF0ZV9jYXJ0XCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MCk7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5jYXJ0LWNvbGxhdGVyYWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuODc1cmVtKTtcblxuICAgIGRpdi5jb3Vwb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgQG1lZGlhICN7JGJyZWFrOTAwfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRzdGFjaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5jYXJ0X3RvdGFscyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBAbWVkaWEgI3skYnJlYWs5MDB9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCkgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgICB0YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICB0ci5vcmRlci10b3RhbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgIHRkIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnV0dG9uLmJ1dHRvbltuYW1lPVwidXBkYXRlX2NhcnRcIl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZCwgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0ge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoNDApICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmb3JtLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLFxuICBkaXYud29vY29tbWVyY2UtZm9ybS1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQ6ICRsdGdyYXkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDI0KSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuXG4gICAgJiA+IHAge1xuICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZm9ybS1yb3cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICYuZm9ybS1yb3ctZmlyc3Qge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazQ4MH0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmZvcm0tcm93LWxhc3Qge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwMCkgIWltcG9ydGFudDtcbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNDgwfSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICB9XG4gIH1cbiAgLmJpbGxpbmctc2hpcHBpbmctdGFicyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgfVxuICAuYmlsbGluZy1zaGlwcGluZy13cmFwcGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obWF4LWhlaWdodCk7XG5cbiAgICAuc2hpcHBpbmctZGV0YWlscywgLmJpbGxpbmctZGV0YWlscyB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgICAgIC8vICYudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgICAgLy8gICBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyAgIG9wYWNpdHk6IDE7XG4gICAgICAvLyAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAvLyB9XG4gICAgICAvLyAmLnRhYnMtcGFuZWwge1xuICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vICAgaGVpZ2h0OiAwO1xuICAgICAgLy8gICBvcGFjaXR5OiAwO1xuICAgICAgLy8gICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAvLyAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cbiAgc3Bhbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEpO1xuXG4gICAgaW5wdXQuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgIGJveC1zaGFkb3c6IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAmLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcblxuICAgIGZvcm0uY2hlY2tvdXRfY291cG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHNwYW4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24ge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEzKTtcbiAgICB9XG4gIH1cbiAgZm9ybS53b29jb21tZXJjZS1jaGVja291dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMsXG4gICAgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzLFxuICAgIC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHMsXG4gICAgLndvb2NvbW1lcmNlLWFkZGl0aW9uYWwtZmllbGRzIHtcblxuICAgICAgaW5wdXQuaW5wdXQtdGV4dCwgdGV4dGFyZWEsIC5zZWxlY3QyLXNlbGVjdGlvbiwgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0NCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG5cbiAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRhbG1vc3RibGFjaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG4gICAgICAuZm9ybS1yb3cge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYuZm9ybS1yb3ctZmlyc3QsICYuZm9ybS1yb3ctbGFzdCB7XG4gICAgICAgICAgd2lkdGg6IDQ5LjI1JSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYuZm9ybS1yb3ctd2lkZTpsYXN0LW9mLXR5cGUsICYubm90ZXMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgIH1cbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG5cbiAgICAgICAgc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzOCk7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDM4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcCNiaWxsaW5nX2NvdW50cnlfZmllbGQsXG4gICAgICBwI3NoaXBwaW5nX2NvdW50cnlfZmllbGQge1xuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzIHtcblxuICAgICAgaDMjc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMikgMCByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRzdGFjaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNjdXN0b21lcl9kZXRhaWxzIHtcblxuICAgICAgLmNvbC0xLCAuY29sLTIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHAudGFicy10aXRsZS5jaGVja291dC1jb250LWJ0biB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMzApIHJlbS1jYWxjKC0xNikgMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXRbbm92YWxpZGF0ZT1cIm5vdmFsaWRhdGVcIl0ge1xuXG4gICAgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzLFxuICAgIC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyxcbiAgICAud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRzLFxuICAgIC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyB7XG5cbiAgICAgIC52YWxpZGF0ZS1yZXF1aXJlZCB7XG5cbiAgICAgICAgaW5wdXQuaW5wdXQtdGV4dCwgdGV4dGFyZWEsIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgLy8gYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCByZWQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBoMyNvcmRlcl9yZXZpZXdfaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gIH1cbiAgdGFibGUuc2hvcF90YWJsZSwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlICFpbXBvcnRhbnQ7XG4gICAgLy9ib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBmb250LWZhbWlseTogJGZvbnRzdGFjaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIHRoLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICB9XG4gICAgICB0aC5wcm9kdWN0LXRvdGFsIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZSAhaW1wb3J0YW50O1xuXG4gICAgICB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgfVxuICAgICAgdGQsIHRoIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIHRkLnByb2R1Y3QtbmFtZSB7XG5cbiAgICAgICAgc3Bhbi5wcm9kdWN0LXRpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0ci5jYXJ0LWl0ZW0gdGQucHJvZHVjdC10b3RhbCBzcGFuLmFtb3VudCxcbiAgICAgIHRyLmNhcnQtaXRlbSB0ZC5wcm9kdWN0LXRvdGFsIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wge1xuICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIHRmb290IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcblxuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgdHIgdGQgc3Bhbi5hbW91bnQsXG4gICAgICB0ciB0ZCBzcGFuLmFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sIHtcbiAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgdHIuc2hpcHBpbmcge1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0ci50YXgtdG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0ci5vcmRlci10b3RhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIHRkIHN0cm9uZyBzcGFuLmFtb3VudCxcbiAgICAgICAgdGQgc3Ryb25nIHNwYW4uYW1vdW50IHNwYW4ud29vY29tbWVyY2UtUHJpY2UtY3VycmVuY3lTeW1ib2wge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBzbWFsbC5pbmNsdWRlc190YXggc3Bhbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQsXG4gICAgICAgIHNtYWxsLmluY2x1ZGVzX3RheCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCBzcGFuLndvb2NvbW1lcmNlLVByaWNlLWN1cnJlbmN5U3ltYm9sIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGFibGUuc2hvcF90YWJsZSB7XG5cbiAgICB0ciB7XG4gICAgICB0aCwgdGQge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg5KSByZW0tY2FsYygxMik7XG4gICAgICB9XG4gICAgfVxuICAgIHRyLnNoaXBwaW5nIHtcblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICBhLnNoaXBwaW5nLWNhbGN1bGF0b3ItYnV0dG9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICAgIC5zaGlwcGluZy1jYWxjdWxhdG9yLWZvcm0ge1xuXG4gICAgICAgIHAuZm9ybS1yb3cge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAuc2VsZWN0MiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDIpO1xuXG4gICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZGl2Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQsICNwYXltZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcblxuICAgIHVsLndjX3BheW1lbnRfbWV0aG9kcyxcbiAgICB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICYgPiBsaSB7XG5cbiAgICAgICAgJiA+IGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpLndjX3BheW1lbnRfbWV0aG9kIHtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaS5wYXltZW50X21ldGhvZF9wYXlwYWwge1xuXG4gICAgICAgIGEuYWJvdXRfcGF5cGFsIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpLnBheW1lbnRfbWV0aG9kX3N0cmlwZSB7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRicmVhazQ4MH0ge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGl2LnBheW1lbnRfYm94LnBheW1lbnRfbWV0aG9kX3N0cmlwZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDFlbSBzb2xpZCAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5wdXQjd2Mtc3RyaXBlLW5ldy1wYXltZW50LW1ldGhvZCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNSkgMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZpZWxkc2V0I3djLXN0cmlwZS1jYy1mb3JtIHtcblxuICAgICAgICAgICAgLmZvcm0tcm93IHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjc3RyaXBlLWNhcmQtZWxlbWVudCxcbiAgICAgICAgICAgICAgI3N0cmlwZS1leHAtZWxlbWVudCxcbiAgICAgICAgICAgICAgI3N0cmlwZS1jdmMtZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQ0KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICAgIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHtcblxuICAgICAgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQge1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDEpIDAgJGJsdWU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMik7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDIpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIHNwYW4ud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtc2hhZG93OiByZW0tY2FsYygyKSByZW0tY2FsYygxKSAwICRibHVlO1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMik7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLXJvdy5wbGFjZS1vcmRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCByZW0tY2FsYyg2KSByZW0tY2FsYyg2KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgICBidXR0b24jcGxhY2Vfb3JkZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhyZW0pIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRicmVhazYwMH0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5yZXR1cm4tdG8tc2hvcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JGJyZWFrNjAwfSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZGl2I3BheW1lbnQud29vY29tbWVyY2UtUGF5bWVudCB7XG5cbiAgICB1bC53b29jb21tZXJjZS1QYXltZW50TWV0aG9kcyArIGRpdi5mb3JtLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICB9XG4gICAgLmFib3V0X3BheXBhbCB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgfVxuICAud29vY29tbWVyY2UtaW5mbyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGJsdWU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDUpO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgJiAqIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgbGVmdDogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jbGVhci1ub3RpY2Uge1xuICAgICAgY29sb3I6IHJlZDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogNTA7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMjApO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDQ1KSByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTApO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYuaGlkZS1ub3RpY2Uge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG4gIGZvcm0uY2hlY2tvdXRfY291cG9uLndvb2NvbW1lcmNlLWZvcm0tY291cG9uLmhpZGUtbm90aWNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC53b29jb21tZXJjZS1lcnJvciwgLndvb2NvbW1lcmNlLWluZm8sIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbHRncmF5O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDE1KSByZW0tY2FsYygxNSkgcmVtLWNhbGMoNDUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGEuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAvLyBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxMCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkbHRncmVlbjtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJGx0Z3JlZW47XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS1lcnJvciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHJlZDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgfVxuICB9XG4gIC53b29jb21tZXJjZS1pbmZvIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkbHRibHVlO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGx0Ymx1ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJGx0Ymx1ZTtcbiAgICB9XG4gIH1cbn1cbi53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IHtcblxuICBoMi53b29jb21tZXJjZS1wYWdlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wcm9kdWN0LXRvcC13cmFwcGVyIHtcblxuICAgIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgQG1lZGlhICN7JGJyZWFrMTIwMH0ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjEuMjVyZW0pO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBmaWd1cmUud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIHtcblxuICAgICAgICAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG5cbiAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5IHtcblxuICAgICAgICBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcblxuICAgICAgICAgIGZpZ2NhcHRpb24ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zdW1tYXJ5LmVudHJ5LXN1bW1hcnkge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICBAbWVkaWEgI3skYnJlYWsxMjAwfSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzNDApO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ud29vY29tbWVyY2UtZm9ybSB7XG5cbiAgaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgfVxuICBsYWJlbC53b29jb21tZXJjZS1mb3JtX19sYWJlbC53b29jb21tZXJjZS1mb3JtX19sYWJlbC1mb3ItY2hlY2tib3guaW5saW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gIH1cbn1cbmRpdi53b29jb21tZXJjZS1vcmRlciB7XG5cbiAgcC53b29jb21tZXJjZS1ub3RpY2Uge1xuICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgfVxuICB1bC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XG4gICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIGxpIHtcbiAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoMSkgc29saWQgJGJsdWU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAyNSU7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNDgwfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyB7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgfVxuICB9XG59XG4uc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogJGJsdWU7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbZGF0YS1zZWxlY3RlZF0ge1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbn1cbi53b29jb21tZXJjZS1hY2NvdW50IHtcblxuICAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCByZW0tY2FsYyg0MCkgMDtcblxuICAgICAgbGkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG5cbiAgICAgICAgQG1lZGlhICN7JGJyZWFrNDgwfSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzNSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250c3RhY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byByZW0tY2FsYyg0KTtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIC4yNXJlbSk7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrNDgwfSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgZm9ybSB7XG5cbiAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICB9XG4gICAgICBmaWVsZHNldCB7XG5cbiAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAwIDAgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gIC53b29jb21tZXJjZSwgLndvb2NvbW1lcmNlLXBhZ2Uge1xuXG4gICAgdGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHtcblxuICAgICAgdHIud29vY29tbWVyY2UtY2FydC1mb3JtX19jYXJ0LWl0ZW0uY2FydF9pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoNSkgc29saWQgJGJsdWU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICYucHJvZHVjdC1wcmljZSwgJi5wcm9kdWN0LXN1YnRvdGFsIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcblxuICAgICAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBzcGFuLnByb2R1Y3QtdGl0bGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Bhbi5wcm9kdWN0LXRodW1ibmFpbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5wcm9kdWN0LXJlbW92ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5wcm9kdWN0LXByaWNlLCAmLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGx0Z3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5icy1yb3ctc3BhY2luZyB7XG4gIHBhZGRpbmctdG9wOiAkdnNwYWNlO1xuICBwYWRkaW5nLWJvdHRvbTogJHZzcGFjZTtcblxuICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgcGFkZGluZy10b3A6ICR2c3BhY2UxMDI0O1xuICAgIHBhZGRpbmctYm90dG9tOiAkdnNwYWNlMTAyNDtcbiAgfVxufVxuLmJzLXJvdy1zcGFjaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAkdnNwYWNlO1xuXG4gIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICBwYWRkaW5nLXRvcDogJHZzcGFjZTEwMjQ7XG4gIH1cbn1cbi5icy1yb3ctc3BhY2luZy1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogJHZzcGFjZTtcblxuICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgcGFkZGluZy1ib3R0b206ICR2c3BhY2UxMDI0O1xuICB9XG59XG5cbmh0bWwgYm9keS5ob21lIHtcblxuICBoZWFkZXIjbWFzdGhlYWQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLnNpdGUtdGl0bGUtYmFyLnRpdGxlLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXIsXG4gICAgLnRvcC1iYXIgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIsXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCxcbiAgICAudG9wLWJhci10b3AsXG4gICAgLnRvcC1iYXItYm90dG9tLFxuICAgIHVsLmRlc2t0b3AtbWVudSxcbiAgICB1bC5kZXNrdG9wLW1lbnUrLm1lbnUtc2VhcmNoLXdyYXBwZXIsXG4gICAgLmRlc2t0b3AtbWVudSsubWVudS1zZWFyY2gtd3JhcHBlciBidXR0b24uc2VhcmNoLXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgdWwuZGVza3RvcC1tZW51PmxpPmEge1xuICAgICAgdGV4dC1zaGFkb3c6ICRib3hzaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLnRvcC1iYXIgLmRlc2t0b3AtbWVudT5saT5hLFxuICB1bC5zb2NpYWwtbWVkaWEtd3JhcHBlciBsaS5tZW51LXNlYXJjaC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbmh0bWwgYm9keSAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICYuaXMtb3Blbi1yaWdodCB7XG5cbiAgICBoZWFkZXIjbWFzdGhlYWQsXG4gICAgLnRvcC1iYXIsXG4gICAgLnRvcC1iYXIgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIsXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCxcbiAgICAudG9wLWJhci10b3AsXG4gICAgLnRvcC1iYXItYm90dG9tIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG5cbiAgICBoZWFkZXIjbWFzdGhlYWQge1xuICAgICAgYmFja2dyb3VuZDogJGx0Ymx1ZWFscGhhICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaGVhZGVyI21hc3RoZWFkIC5zaXRlLXRpdGxlLWJhci50aXRsZS1iYXIge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDgwJSkgIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsKTtcbiAgICB9XG4gIH1cbn1cblxuaGVhZGVyI21hc3RoZWFkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5zaXRlLW5hdmlnYXRpb24udG9wLWJhciB7XG4gICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICB0b3A6IHJlbS1jYWxjKDYpO1xuXG4gICAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAudG9wLWJhci1zb2NpYWwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgdWwuc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgbGkuY3VzdG9tLWJ1dHRvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMik7XG5cbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubGVhcm4tbW9yZS1saW5rIHtcbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgQGluY2x1ZGUgZmx1aWQtdHlwZShyZW0tY2FsYygxNiksIHJlbS1jYWxjKDE4KSk7XG4gIGxldHRlci1zcGFjaW5nOiAkbHM7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDIuNSk7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC41cywgZWFzZS1pbiwgLjI1cyk7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjI1cywgZWFzZS1vdXQpO1xuICAgIH1cblxuICB9XG4gICYubG1sLXdoaXRlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuI2hvbWUtcG9ydGFscy1yb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAjaG9tZS1wb3J0YWxzLWlubmVyLXJvdyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE0MDApO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmhvbWUtcG9ydGFsIHtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdnNwYWNlKTtcbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUlKTtcblxuICAgICAgZGl2IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmPmRpdiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDg3KSByZW0tY2FsYyg1MSk7XG5cbiAgICAgICAgJj5kaXY+ZGl2PmRpdiB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODApO1xuICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDMuMTI1dncgKiAxLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiAkZGFya2JsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBmbHVpZC10eXBlKHJlbS1jYWxjKDI0KSxyZW0tY2FsYygzNSkpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR2c3BhY2UxMDI0KTtcblxuICAgICAgICAmPmRpdiB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTI1KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMjUpfSk7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skYnJlYWsxMDI0fSB7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cbn1cblxuLnNpbmdsZS10ZXN0aW1vbmlhbC1pdGVtIHtcblxuICAudGVzdGltb25pYWwtY29udGVudCB7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZShyZW0tY2FsYygyMCkscmVtLWNhbGMoMzUpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIGg0LnRlc3RpbW9uaWFsLXRpdGxlIHtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDkwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI2ZlYXR1cmVkLXRlc3RpbW9uaWFscy1yb3cge1xuICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuXG4gIC50ZXN0aW1vbmlhbHMtcm93LWhlYWRpbmcge1xuICAgIFxuICAgIGgyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoMy4xMjV2dyAqIDEuNSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2Fzc2V0cy9pbWFnZXMvdGVzdGltb25pYWxzLWljb24uc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDMuMTI1dncgKiAxLjUpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDMuMTI1dncgKiAxLjUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogY2FsYygzLjEyNXZ3ICogMS41KTtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7cmVtLWNhbGMoMTgwMCl9KSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoODApO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICN7JGJyZWFrOTcyfSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLnRlc3RpbW9uaWFscy1yb3ctY2Fyb3VzZWwge1xuICAgIEBtZWRpYSAjeyRicmVhazk3Mn0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC50ZXN0aW1vbmlhbHMtd3JhcHBlci50ZXN0aW1vbmlhbHMtZGlzcGxheS1jYXJvdXNlbCB7XG4gICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDQpIHNvbGlkICR5ZWxsb3c7XG4gICAgcGFkZGluZzogJHZzcGFjZTEwMjQgY2FsYygzLjEyNXZ3ICogMS41KTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7cmVtLWNhbGMoMTYwMCl9KSB7XG4gICAgICBwYWRkaW5nOiAkdnNwYWNlMTAyNCAkdnNwYWNlMTAyNDtcbiAgICB9XG4gICAgLy8gQG1lZGlhICN7JGJyZWFrOTcyfSB7XG4gICAgLy8gICBwYWRkaW5nOiAkdnNwYWNlMTAyNCAzLjEyNXZ3O1xuICAgIC8vIH1cbiAgICBAbWVkaWEgI3skYnJlYWs5NzJ9IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoNCkgc29saWQgJHllbGxvdztcbiAgICAgIG1hcmdpbi10b3A6IDMuMTI1dnc7XG4gICAgICBwYWRkaW5nOiAzLjEyNXZ3IDAgMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBAbWVkaWEgI3skYnJlYWs5NzJ9IHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jZ2V0LXN0YXJ0ZWQtcm93IHtcblxuICAmID4gZGl2ID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogNTZ2dztcbiAgICB9XG4gIH1cbiAgJiA+IGRpdiArIGRpdiA+IGRpdiB7XG4gICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDUwJSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA5MiUgIWltcG9ydGFudDtcblxuICAgICYgPiBkaXYgPiBkaXYgPiBkaXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDMuMTI1dncgKiAxLjUpO1xuXG4gICAgICBoMiwgaDMsIHAge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDYwMCk7XG4gICAgICB9XG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUocmVtLWNhbGMoMjQpLHJlbS1jYWxjKDM1KSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgIHAge1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuI2V4aXN0aW5nLWNsaWVudHMtcm93IHtcblxuICAmID4gZGl2ID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoNjV2dyAtICgzLjEyNXZ3ICogLjc1KSkgYXV0byAhaW1wb3J0YW50O1xuICAgIC8vIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAje3JlbS1jYWxjKDE0NTApfSkgYW5kIChtaW4td2lkdGg6ICN7cmVtLWNhbGMoMTAyNSl9KSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmID4gZGl2ID4gZGl2IHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNzAwKTtcbiAgICAgIGxlZnQ6IGNhbGMoNTB2dyAtICN7cmVtLWNhbGMoNzAwKX0pO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7cmVtLWNhbGMoMTQ1MCl9KSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYgPiBkaXYgPiBkaXYgPiBkaXYge1xuICAgICAgYmFja2dyb3VuZDogJGx0Ymx1ZTtcbiAgICAgIGJveC1zaGFkb3c6ICRib3hzaGFkb3ctLWxhcmdlO1xuICAgICAgLy8gbGVmdDogY2FsYygzLjEyNXZ3ICogMS41KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNzAwKTtcbiAgICAgIC8vIHdpZHRoOiBjYWxjKDUwdncgLSAoMy4xMjV2dyAqIDEuNSkpO1xuICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgICBoMiwgaDMsIHAsIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIG1heC13aWR0aDogcmVtLWNhbGMoNjAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBmbHVpZC10eXBlKHJlbS1jYWxjKDI0KSxyZW0tY2FsYygzNSkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICBwIHtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuXG4gICAgICAmID4gZGl2ID4gZGl2ID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGx0Ymx1ZWFscGhhO1xuICAgICAgICAvLyBsZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3tyZW0tY2FsYygyNSl9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0gXG4gIC8vICYgPiBkaXYgKyBkaXYgPiBkaXYge1xuICAvLyAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAvLyAgIC8vIGJhY2tncm91bmQtc2l6ZTogYXV0byA5NSUgIWltcG9ydGFudDtcbiAgLy8gICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgLy8gICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAvLyAgICAgbWluLWhlaWdodDogNjV2dztcbiAgLy8gICB9XG4gIC8vIH1cbn1cblxuXG4vKioqKiBJTlRFUk5BTCBQQUdFIFNUWUxFUyAqKioqL1xuYm9keTpub3QoLmhvbWUpICNtYWluLWNvbnRhaW5lciAubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmVudHJ5LWNvbnRlbnQge1xuXG4gIC5pbnRlcm5hbC1wb3J0YWxzLXJvdyB7XG5cbiAgICAuaW50ZXJuYWwtcG9ydGFsLWxlZnQge1xuICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcbiAgICAgIGJvcmRlci1yaWdodDogMy4xMjV2dyBzb2xpZCAkd2hpdGU7XG5cblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODApO1xuICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDMuMTI1dncgKiAxLjUpO1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZShyZW0tY2FsYygyNCkscmVtLWNhbGMoMzUpKTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0yNSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDI1KX0pO1xuICAgICAgfVxuICAgIH1cbiAgICAuaW50ZXJuYWwtcG9ydGFsLXJpZ2h0IHtcblxuICAgICAgJiA+IGRpdiB7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGJyZWFrNzY3fSB7XG4gICAgICAgIFxuICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAvLyBwYWRkaW5nOiByZW0tY2FsYygyNSkgcmVtLWNhbGMoMjUpIDAgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSkgMCAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKioqIEZPT1RFUiAmIFBSRUZPT1RFUiBTVFlMRVMgKioqKi9cbi5jb250YWN0LXVzLWxpdGVfd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbnRhY3QtdXMtbGl0ZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDY2LjY2NjZ2dyAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gIHVsLmdmb3JtX2ZpZWxkcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmxpdGUtZmllbGQtbGVmdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOCk7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAje3JlbS1jYWxjKDE2KX0pO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBib3gtc2hhZG93OiAkYm94c2hhZG93LS1sYXJnZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbHRibHVlYWxwaGEyO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skYnJlYWs3Njd9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpdGUtZmllbGQtcmlnaHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjgpO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7cmVtLWNhbGMoMTYpfSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hzaGFkb3ctLWxhcmdlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsdGJsdWVhbHBoYTI7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdmb3JtX2Zvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbiNmb290ZXItY29udGFpbmVyIHtcblxuICAucHJlLWZvb3Rlci1jb250YWluZXIge1xuXG4gICAgLnByZS1mb290ZXIge1xuXG4gICAgICBzZWN0aW9uLndpZGdldCB7fVxuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItY29udGFpbmVyIHtcblxuICAgIGZvb3Rlci5mb290ZXIuZ3JpZC14IHtcblxuICAgICAgc2VjdGlvbi53aWRnZXQge1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygzLjEyNXZ3ICogMik7XG4gICAgICAgICAgd2lkdGg6IDQ0JTtcblxuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgd2lkdGg6IDI4JTtcblxuICAgICAgICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrNTAwfSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICB3aWR0aDogMjglO1xuXG4gICAgICAgICAgQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgI3skYnJlYWs0MDB9IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIE5hdmlnYXRpb24gYnJlYWtwb2ludHNcbi5tb2JpbGUtbWVudSxcbi5zaXRlLXRpdGxlLWJhciB7XG4gIEBpbmNsdWRlIGhpZGUtZm9yKG1lZGl1bSk7XG59XG5cbi5kZXNrdG9wLW1lbnUsXG5ib2R5Om5vdCgudG9wYmFyKSAuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWxlZnQge1xuICBAaW5jbHVkZSBzaG93LWZvcihtZWRpdW0pO1xufVxuXG4vLyBTaXRlIHRpdGxlXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gTW9iaWxlIG1lbnVcbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIHByZXZlbnRzIHJlcGFpbnQgY2F1c2VkIGJ5IEpTIGhpZGluZyBtZW51IG9ubG9hZFxufVxuXG4ub2ZmLWNhbnZhcyB7XG4gID4gdWwubWVudSB7XG4gICAgLy8gaGVpZ2h0OiAxMDB2aDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cblxuICAubWVudSAuYWN0aXZlID4gYSB7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cblxufVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgYSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjQjlCOUI5O1xuICB9XG59XG5cbi5tb2JpbGUtbWVudSxcbi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IHtcblxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZGFyay1uYXYtY29sb3IsIDUlKTtcbiAgfVxufVxuXG4vLyBUYWJsZXQgYW5kIGRlc2t0b3AgbWVudVxuXG4udG9wLWJhciB7XG5cbiAgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjQjlCOUI5O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICB9XG5cbiAgLm1lbnUgYSB7XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAmOmhvdmVyOm5vdCguYnV0dG9uKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI1MjVEO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IC5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG4gIC5tZW51PmxpOm5vdCgubWVudS10ZXh0KT5hIHsgcGFkZGluZzogMXJlbTsgfVxuICAubWVudSBsaTpub3QoOmxhc3QtY2hpbGQpIHsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzRlNGU0ZTsgfVxuXG4gIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHsgYm9yZGVyOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93IGEgeyBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93ID4gYTo6YWZ0ZXIgeyBib3JkZXI6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnU6Zmlyc3QtY2hpbGQgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogMDsgLy8gcHJldmVudHMgY29udGFpbmVyIHZpc2liaWxpdHkgb24gc21hbGwgc2NyZWVuc1xuICB9XG59XG5cbi8vIFdQIHBvc3QgbmF2aWdhdGlvblxuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ubmF2LXByZXZpb3VzIHtcbiAgZmxvYXQ6bGVmdDtcbn1cblxuLm5hdi1uZXh0IHtcbiAgZmxvYXQ6cmlnaHQ7XG59XG4iLCIubWFpbi13cmFwIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgLy9tYXJnaW4tdG9wOiAxcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gICYuc2lkZWJhci1sZWZ0IHtcblxuICAgIC8vIFBsYWNlIHRoZSBzaWRlYmFyIGJlbG93IG1haW4gY29udGVudCBvbiBzbWFsbCBzY3JlZW5zIC4uLlxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAubWFpbi1jb250ZW50IHsgb3JkZXI6IDE7IH1cbiAgICAgICAgLnNpZGViYXIgeyBvcmRlcjogMjsgfVxuICAgICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0byB0aGUgbGVmdCBvbiBtZWRpdW0tdXAgc2NyZWVucywgd2hlbiB1c2luZyB0aGUgc2lkZWJhci1sZWZ0IHRlbXBsYXRlXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAubWFpbi1jb250ZW50IHsgb3JkZXI6IDI7IH1cbiAgICAgICAgLnNpZGViYXIgeyBvcmRlcjogMTsgfVxuICAgICAgfVxuICB9XG5cbiAgLy8gRnVsbCB3aWR0aCB0ZW1wbGF0ZVxuICAmLmZ1bGwtd2lkdGgge1xuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuICB9XG5cbiAgLm1haW4tY29udGVudCB7XG4gICAgXG4gICAgLy8gRGVmYXVsdCB0ZW1wbGF0ZVxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAvLyAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIC8vIH1cblxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLy8gICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgIC8vIH1cblxuICB9XG5cbiAgLnNpZGViYXIge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICB9XG59XG4iLCJkaXYucHJlLWZvb3Rlci1jb250YWluZXIge1xuXG4gICYrZGl2LmZvb3Rlci1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAucHJlLWZvb3RlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiAgICBwYWRkaW5nOiAkdnNwYWNlMTAyNCAwO1xuXG4gICAgLy8gQG1lZGlhICN7JGJyZWFrMTAyNH0ge1xuICAgIC8vICAgcGFkZGluZzogJHZzcGFjZTEwMjQgMDtcbiAgICAvLyB9XG4gIH1cblxuICAud2lkZ2V0IHtcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDI1KTtcblxuICAgIGg0IHtcbiAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUocmVtLWNhbGMoMzIpLCByZW0tY2FsYyg1NSkpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgIEBtZWRpYSAjeyRicmVhazc2N30ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHkuaG9tZSBkaXYucHJlLWZvb3Rlci1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAkdnNwYWNlMTAyNDtcbn1cblxuYm9keS5ob21lIC5mb290ZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuZm9vdGVyLmZvb3RlciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuICBwYWRkaW5nOiAkdnNwYWNlMTAyNCAwIDAgIWltcG9ydGFudDtcblxuICAud2lkZ2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdnNwYWNlMTAyNDtcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDI1KTtcblxuICAgIEBtZWRpYSAjeyRicmVhazEwMjR9IHtcblxuICAgICAgLy8gJjpsYXN0LW9mLXR5cGUge1xuICAgICAgLy8gICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgaDYge1xuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUocmVtLWNhbGMoMjQpLCByZW0tY2FsYygzNikpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBwIHtcbiAgICBAaW5jbHVkZSBmbHVpZC10eXBlKHJlbS1jYWxjKDE2KSxyZW0tY2FsYygxOCkpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHVsLm1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1hY3RpdmUgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFydGljbGUge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbiNjb3B5cmlnaHQtY29udGFpbmVyIHtcblxuICAjY29weXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufSIsImJvZHkjdGlueW1jZXtcbiAgaGVpZ2h0OiBhdXRvOyAvLyBGaXggZWRpdG9yIHN0eWxlIGJ1Z1xuICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDsgLy8gR2l2ZSB0aGUgZWRpdG9yIGEgbWF4LXdpZHRoXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xufSIsIi5zaXRlcy1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLDAsMCwwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbn1cbiIsIi5jYXJkcy1jb250YWluZXIge1xuXG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgdHJ1ZSwgMC43cmVtICk7XG5cbiAgICB9XG5cbiAgfVxufVxuIiwiLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogMTZ2dztcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoMTAwKTtcbiAgbWF4LWhlaWdodDogcmVtLWNhbGMoMzYwKTtcbiAgLy8gbWluLWhlaWdodDogcmVtLWNhbGMoMTAwKTtcblxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAvLyAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gIC8vIH1cblxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXG4gIC8vIH1cbn0iLCIuZG90dGVkIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwO1xufVxuIiwiLy8gQXBwbHkgb3V0bGluZSBzdHlsZXMgb25seSB3aGVuIGlucHV0IG1ldGhvZCBpcyBrZXlib2FyZFxuLy8gcmVtb3ZlIDpmb2N1cyBzdHlsZSB2aWEgV2hhdCBJbnB1dCB1c2luZyBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudFxuLy8gc28gOmZvY3VzIGlzbid0IGxlZnQgYnJva2VuIGlmIEphdmFTY3JpcHQgZmFpbHNcblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiLy8gUGFnZSBoZWFkZXJcbi5mcm9udC1oZXJvIHtcbiAgLm1hcmtldGluZyB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoNTVyZW0pO1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1zbWFsbC5zdmcnKSBib3R0b20gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY1JSkgMDtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygzMik7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LWxhcmdlLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg2ODUpO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDcyKTtcbiAgfVxuXG4gIC53YXRjaCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICNzdGFyZ2F6ZXJzIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjdHdpdHRlciB7XG4gICAgICA6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwOTlcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAudGFnbGluZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIH1cblxuICAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgfVxufVxuXG4vLyBJbnRyb1xuLmludHJvIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmZwLWludHJvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMCk7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgxKTtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlY3Rpb24gZGl2aWRlclxuLnNlY3Rpb24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuXG4gIGhyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBAZXh0ZW5kIC5kb3R0ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4vLyBCZW5lZml0c1xuLmJlbmVmaXRzIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBoZWFkZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjNzc3O1xuICAgIH1cbiAgfVxuXG4gIC5zZW1hbnRpYyxcbiAgLnJlc3BvbnNpdmUsXG4gIC5jdXN0b21pemFibGUsXG4gIC5wcm9mZXNzaW9uYWwge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCBhdXRvO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC53aHktZm91bmRhdGlvbiB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgfVxufVxuIl19 */
